循环错误(下一个没有For)

时间:2015-05-16 06:08:36

标签: vba excel-vba excel

我是一个真正的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

2 个答案:

答案 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