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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了循环播放页面时出错。返回对象变量或未设置块变量相关的知识,希望对你有一定的参考价值。

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

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

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

答案

这样的东西应该工作 - 注意最好避免使用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

以上是关于循环播放页面时出错。返回对象变量或未设置块变量的主要内容,如果未能解决你的问题,请参考以下文章

运行时错误“91”:对象变量或未设置块变量

运行时错误“91”(对象变量或未设置块变量)

VBA Excel 错误对象变量或未设置块变量

Excel VBA“对象变量或未设置块变量”

有时在 Outlook VBA 中获取“对象变量或未设置块变量”

EXCEL VBA - 对象变量或未设置块变量