如下代码,运行之后先循环i , 如果为true 则进入循环j,在得到想要的数据后,如何跳出循环j, 返回循环i。exit for 应该加在哪里?
Sub test()
Dim num As String, i As Integer, j As Integer, subt As String
For i = 2 To Sheets("原格式").Range("a56565").End(3).Row
num = Sheets("原格式").Cells(i, 1).Value
If num <> "" Then '
Sheets("数据").Cells(i, 1).Value = num
For j = 2 To Sheets("原格式").Range("c56565").End(3).Row
subt = Sheets("原格式").Cells(j, 3).Value
Select Case subt
Case "月租费"
Sheets("数据").Cells(i, 2).Value = Sheets("原格式").Cells(j, 5).Value
Case "来话显示功能费"
Sheets("数据").Cells(i, 3).Value = Sheets("原格式").Cells(j, 5).Value
Case "悦铃使用费"
Sheets("数据").Cells(i, 4).Value = Sheets("原格式").Cells(j, 5).Value
Case "区间通话费"
Sheets("数据").Cells(i, 5).Value = Sheets("原格式").Cells(j, 5).Value
Case "长话费"
Sheets("数据").Cells(i, 6).Value = Sheets("原格式").Cells(j, 5).Value
Case "区内通话费"
Sheets("数据").Cells(i, 7).Value = Sheets("原格式").Cells(j, 5).Value
Case "国际自动长途费用"
Sheets("数据").Cells(i, 8).Value = Sheets("原格式").Cells(j, 5).Value
Case ""
Sheets("数据").Cells(i, 9).Value = Sheets("原格式").Cells(j, 5).Value
End Select
Next j
End If
Next i
End Sub
您好,我想定义一个静态变量,用来存储循环 j 已经循环到第几行,使goto xiayige 回到循环i 后再次进入 循环j 时可以继续从上一次跳出来的地方开始循环(比如我是在获得第十行数据后跳出的,我想继续从i开始循环的时候,j循环是从11行开始。)
追答哦,这个可以这样解决,再声明一个变量k
Sub test()
Dim num As String, i As Integer, j As Integer, subt As String
Dim k As Integer
For i = 2 To Sheets("原格式").Range("a56565").End(3).Row
num = Sheets("原格式").Cells(i, 1).Value
If num "" Then '
Sheets("数据").Cells(i, 1).Value = num
For j = IIf(j =k, k, 2) To Sheets("原格式").Range("c56565").End(3).Row
k=j
subt = Sheets("原格式").Cells(j, 3).Value
Select Case subt
Case "月租费"
Sheets("数据").Cells(i, 2).Value = Sheets("原格式").Cells(j, 5).Value
goto xiayige
End Select
Next j
End If
xiayige:
Next i
End Sub
您好,我想定义一个静态变量,用来存储循环 j 已经循环到第几行,使goto xiayige 回到循环i 后再次进入 循环j 时可以继续从上一次跳出来的地方开始循环(比如我是在获得第十行数据后跳出的,我想继续从i开始循环的时候,j循环是从11行开始。)
追答晕倒,我刚看上你上面的追问改了答案,刚点提交,既然没修改成就跳出了你的追问!
在代码前部定义一变量:dim K as integer
for i =2 to ……前加一行:k=2
把for J=2 to ……改成 for j=k to ……
在我刚才说的exit for 前加一行,K=J
这样就达到你的目的了!