Vba Excel上的联合错误消息

Vba Excel上的联合错误消息,vba,excel,Vba,Excel,我收到一条错误消息,上面说 运行时错误1004':对象“u Global”的方法“union”失败 它指向行Set unioned=Union(unioned,c) 有什么建议吗 Option Explicit Private Sub HideRows_Click() With Application .Calculation = xlCalculationManual .ScreenUpdating = False .DisplayS

我收到一条错误消息,上面说

运行时错误1004':对象“u Global”的方法“union”失败

它指向行
Set unioned=Union(unioned,c)
有什么建议吗

Option Explicit

Private Sub HideRows_Click()

    With Application
        .Calculation = xlCalculationManual
        .ScreenUpdating = False
        .DisplayStatusBar = False
        .EnableEvents = False
    End With

    'On Error Resume Next

    Dim ws As Worksheet
    For Each ws In Worksheets

        Select Case ws.name
            Case "Sheet1", "Sheet2", "Sheet3" 'sheets to exclude
                'do nothing

            Case Else 'hide rows on these sheets
                Dim unioned As Range

                Dim c As Range
                For Each c In ws.Range("AJ16:AJ153,AJ157:AJ292")
                    If Len(c.Value2) = 0 Then
                        If unioned Is Nothing Then
                            Set unioned = c
                        Else
                            Set unioned = Union(unioned, c)
                        End If
                    End If
                Next c

                unioned.EntireRow.Hidden = True
        End Select

    Next ws

    With Application
        .Calculation = xlCalculationAutomatic
        .ScreenUpdating = True
        .DisplayStatusBar = True
        .EnableEvents = True
    End With

End Sub

你知道它是在第一个还是第二个工作表循环中吗?我想你需要在
unioned.EntireRow.Hidden=True
之后添加
Set unioned=Nothing
,因为它试图创建两个不同工作表的联合范围,这是不可能的。谢谢Scott。错误消失了,但不幸的是代码没有达到我想要的效果。列AJ中具有0的行仍然存在且未隐藏。有什么想法吗?谢谢他们属于第二组还是第一组,或者两者都属于。我猜它对第一组有效,但对第二组无效。有没有办法知道它发生在哪一组?所有图纸都没有隐藏的行