Excel 如果要选择的范围为空,则退出sub

Excel 如果要选择的范围为空,则退出sub,excel,vba,range,Excel,Vba,Range,我有一个代码,可以建立并选择范围,将其复制到另一个子系统中的另一个工作表 Sub SelectREZ() 'Disable screen update Application.ScreenUpdating = False Application.DisplayAlerts = False 'Declare variables Dim c As Range, ws As Worksheet Dim rngG As Range, lastJ, rngJ As

我有一个代码,可以建立并选择范围,将其复制到另一个子系统中的另一个工作表

Sub SelectREZ()

'Disable screen update

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

'Declare variables

    Dim c As Range, ws As Worksheet
    Dim rngG As Range, lastJ, rngJ As Range
    
    Set ws = ActiveSheet

    For Each c In Intersect(ws.UsedRange, ws.Columns("C"))
        Set rngJ = c.EntireRow.Columns("J")
        If c = "REZ" Then
            AddRange rngG, c.EntireRow
            
'Remember the "ITEM NO."
            
            lastJ = rngJ.Value
        Else

            If Len(lastJ) > 0 Then
                If rngJ.Value Like lastJ & "*" Then
                    AddRange rngG, c.EntireRow
                Else
                    lastJ = ""
                End If
            End If
        End If
    Next c
    
    rngG.Select
    
End Sub

'Utility sub for building up a range

    Sub AddRange(rngTot As Range, rngAdd As Range)
    If rngTot Is Nothing Then
        Set rngTot = rngAdd
    Else
        Set rngTot = Application.Union(rngTot, rngAdd)
    End If

'Disable screen update

    Application.ScreenUpdating = True
    Application.DisplayAlerts = True

End Sub

我遇到了这样一种情况:范围为空,宏在行中消失

    rngG.Select
如果要选择的范围为空,如何防止宏崩溃并退出子区域

我的意思是我可以做到:

    On Error Resume Next
    rngG.Select

但这似乎是一个大锤式的方法。

如果rngG不算什么,那么
或者
如果rngG不算什么,那么
——这取决于接下来会发生什么。请注意,您不需要
选择
——应该避免它。