我正在尝试在if条件下继续for循环,但是VBA抱怨编译错误:" Next没有For"。
我正在使用" GoTo",因为没有"继续" VBA中的关键字,例如其他典型的编程语言。
知道这里有什么问题吗?
For RowIndex = 2 To lastrow
If Worksheets("Sheet1").Range("$b$" & RowIndex) = "" Then
GoTo EndLoop
output_string = setproperty & Worksheets("Sheet1").Range("$b$" & RowIndex) & " [ get_ports " & """" & Worksheets("Sheet1").Range("$g$" & RowIndex) & """" & " ]"
Print #1, output_string
output_string = setpropertyiostandard & Worksheets("Sheet1").Range("$k$" & RowIndex) & " [ get_ports """ & Worksheets("Sheet1").Range("$g$" & RowIndex) & """" & " ]"
Print #1, output_string
If Worksheets("Sheet1").Range("$k$" & RowIndex) = "LVCMOS18" Then
'Debug.Print "found" & RowIndex
output_string = "set_property DRIVE 8 [ get_ports " & Worksheets("Sheet1").Range("$g$" & RowIndex) & "]"
Print #1, output_string
End If
EndLoop:
Next RowIndex
答案 0 :(得分:3)
你的第一个If / Then保持打开状态,需要在for循环中关闭它。
答案 1 :(得分:0)
在您的情况下,您可以将测试从=更改为<>。另一个技巧是使用while true循环
For RowIndex = 2 to LastRow
While true
If Worksheets("Sheet1").Range("$b$" & RowIndex) = "" Then Exit Do
Rest of your code here
Exit Do '<- Remember to do this or you'll be caught in an infinite loop
Loop
Next