Быстрее использовать метод Find
. Предполагается, что текст встречается только один раз, но может быть адаптирован, если это не так.
Прочитайте это , чтобы узнать, почему вам, вероятно, не нужно ничего выбирать.
Возможно, вы захотите поменять местами 10 и 2 в Resize
- не уверены, чего вы там хотите.
Sub y()
Dim r As Range
Set r = Sheets("Sheet1").Range("B:B").Find(What:="A-test", Lookat:=xlWhole, MatchCase:=False, SearchFormat:=False)
If Not r Is Nothing Then r.Resize(10, 2).Select '10 rows, 2 columns
End Sub
Если вы хотите сослаться на больший диапазон, присвойте его переменной диапазона, и затем вы сможете получить доступ к его свойствам и методам напрямую, без необходимости использовать Select
.
Sub y()
Dim r As Range, rBig As Range
Set r = Sheets("Sheet1").Range("B:B").Find(What:="A-test", Lookat:=xlWhole, MatchCase:=False, SearchFormat:=False)
If Not r Is Nothing Then
Set rBig = r.Resize(10, 2)
End If
'then do stuff with the 10x2 range
'eg colour it red
rBig.Interior.Color = vbRed
End Sub