循环播放页面时出错。返回对象变量或未设置块变量

问题描述 投票:0回答:1

我成功地遍历工作表,直到最后一个工作表,我得到了对象变量错误和下标超出范围错误。

我相信当问题用完工作表时,问题可能出在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

这样就完成了准备工作簿以复制剩余的行,这是在另一个过程中。

excel vba for-loop
1个回答
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