遍历工作表时出错。返回对象变量或未设置带块变量

时间:2019-04-30 23:20:37

标签: excel vba for-loop

我成功地遍历了工作表,直到最后出现工作表中出现对象变量错误和下标超出范围错误的工作表为止。

我认为问题可能出在ActiveSheet.Next.Select它何时用尽工作表。 (请参见代码)。 我尝试了使用来自此处和其他站点的代码的几种循环方法,但均未成功。 我不能使用ThisWorkbook,因为循环是在另一个工作簿上完成的。

Dim WS As Worksheet

   For Each WS In Worksheets

       LastRow = Cells(Rows.Count, "A").End(xlUp).Row
       For i = LastRow To 16 Step -1
                If Cells(i, 1) = "Actual:" Or Cells(i, 1) = "" Then
                'Delete Rows containing Actual: or empty rows
                Rows(i).EntireRow.Delete
            End If
        Next i
        ActiveSheet.Next.Select

   Next WS

这完成了准备工作簿以复制其余行的工作簿,这是另一个过程。

1 个答案:

答案 0 :(得分:0)

类似的事情应该起作用-请注意,最好避免使用ActiveSheet / ActiveCell等

Dim WS As Worksheet 

For Each WS In Worksheets
    For i = WS.Cells(WS.Rows.Count, "A").End(xlUp).Row To 16 Step -1
        If WS.Cells(i, 1) = "Actual:" Or WS.Cells(i, 1) = "" Then
            'Delete Rows containing Actual: or empty rows
             WS.Rows(i).EntireRow.Delete
        End If
    Next i
Next WS