循环没有Do错误但是Do就在那里

时间:2018-02-19 11:11:47

标签: excel vba excel-vba loops

以下代码给出了一个没有Do Compile错误的循环:

Loop
    Sheets("Snap").Rows(1).AutoFilter Field:=5, Criteria1:=List
    Sheets("Snap").Range("A1").CurrentRegion.Copy _
        Destination:=LastCell
    Sheets("RAW").Range("A1").End(xlDown).Offset(1, 0) = "+"
    Set List = List.Offset(1, 0)
If IsEmpty(List) Then
    Exit Do
End If
Do

但是你可以看到Do存在,所以我不知道为什么这会给我一个错误。

1 个答案:

答案 0 :(得分:3)

你的行动......循环向后。

do while true
    Sheets("Snap").Rows(1).AutoFilter Field:=5, Criteria1:=List
    Sheets("Snap").Range("A1").CurrentRegion.Copy _
        Destination:=LastCell
    Sheets("RAW").Range("A1").End(xlDown).Offset(1, 0) = "+"
    Set List = List.Offset(1, 0)
    If IsEmpty(List) Then
        Exit Do
    End If
Loop

可替换地,

do while not IsEmpty(List)
    Sheets("Snap").Rows(1).AutoFilter Field:=5, Criteria1:=List
    Sheets("Snap").Range("A1").CurrentRegion.Copy _
        Destination:=LastCell
    Sheets("RAW").Range("A1").End(xlDown).Offset(1, 0) = "+"
    Set List = List.Offset(1, 0)
Loop