我是一个真正的VBA成熟,非常感谢一些帮助。
我编写了下面的代码来遍历一个列,查找某个字符串(标题),如果找到该字符串,则在字符串下面搜索数字并将值复制到列表中。
我得到了一个没有For'编译错误。
提前感谢您的帮助。
Sub data()
For i = 0 To 1000
If Range("C1").Offset(i, 0) <> Range("G2") Then Next i Else
For j = 1 To 20
If Not IsNumeric(Range("C1").Offset(i, 0).Offset(j, 0)) Then Next j Else
Range("G1").End(xlDown).Offset(1, 0) = Range("C1").Offset(i, 0).Offset(j, 0).Value
Next j
Next i
End Sub
答案 0 :(得分:2)
您可以按如下方式更改代码:
For i = 0 To 1000
If Range("C1").Offset(i, 0) = Range("G2") Then
For j = 1 To 20
If IsNumeric(Range("C1").Offset(i, 0).Offset(j, 0)) Then
Range("G1").End(xlDown).Offset(1, 0) = Range("C1").Offset(i, 0).Offset(j, 0).Value
EndIf
Next j
EndIf
Next i
End Sub
答案 1 :(得分:0)
这看起来很糟糕。让我帮忙。
首先,尝试使用If
,如下所示:
If *condition* then
'what you want to do
else
'in every other cases, what do you want to do
End if
并使用For
之类的:
For i = 1 To *number of times you want to loop*
'what do you want to loop
Next i
如果您将If
放在For
内,请先关闭If
;如果您将For
放在If
内,则始终在Next i
之前使用End if
例如:
For i = 1 To *number of times you want to loop*
If *condition* then
'what you want to do
else
'if the condition is not true, what do you want to do
End if
Next i