с использованием Find
, как показано ниже, полезно как
- может сразу найти последнюю (или первую) ячейку в 2D-диапазоне
- тестирование на
Nothing
определяет пустой диапазон
- будет работать в диапазоне, который не может быть смежным (то есть в диапазоне
SpecialCells
)
замените "YourSheet"
на имя листа, который вы ищете
Sub Method2()
Dim ws As Worksheet
Dim rng1 As Range
Set ws = Sheets("YourSheet")
Set rng1 = ws.Columns("A:B").Find("*", ws.[a1], xlValues, , xlByRows, xlPrevious)
If Not rng1 Is Nothing Then
MsgBox "last cell is " & rng1.Address(0, 0)
Else
MsgBox ws.Name & " columns A:B are empty", vbCritical
End If
End Sub