Вы можете обращаться к соответствующим столбцам как к отдельным областям, задавая их в виде нескольких диапазонов:
Private Sub UsGe()
' ...
Call HideRangeIfEmpty(ActiveSheet.Range("G6:G200, T6:T200, AG6:AG200"))
End Sub
Если любое из значений столбца равно <> "", то будет показана строка, в противном случае нет:
Private Sub HideRangeIfEmpty(ByRef r As Range)
Dim CurrentRow As Long, CurrentArea As Long, CurrentColumn As Long
Dim ToBeShown As Boolean
' Check each row (defined by the first area)
For CurrentRow = 1 To r.Areas(1).Rows.Count
ToBeShown = False ' default: not hidden
' check each area (one or more columns)
For CurrentArea = 1 To r.Areas.Count
' check cell in each column
For CurrentColumn = 1 To r.Areas(CurrentArea).Columns.Count
' If any has a value, then set the marker
If r.Areas(CurrentArea).Cells(CurrentRow, CurrentColumn) <> "" Then _
ToBeShown = True
Next CurrentColumn
Next CurrentArea
' show complete row, if marker is set
r.Areas(1).Cells(CurrentRow, 1).EntireRow.Hidden = Not ToBeShown
Next CurrentRow
End Sub
Теперь он также работает с диапазонами, такими как "G6: I200", где мой код будет проверять столбцы G, H и I.