Попытка установить диапазон («заголовки») от ячейки, содержащей «Period», до ячейки, содержащей «Agent Split».В конце кода я выбираю все эти диапазоны, чтобы убедиться, что он работает правильно.
Я настроил следующий код, содержащий цикл For
Sub Rangeheaders_test()
Dim r As Long
Dim endRow As Long
Dim endCell As Range
Dim headers As Range
With ActiveSheet
endRow = 500
For r = 1 To endRow
If .Cells(r, "A").Value = "Period" Then
Set endCell = .Rows(r).Find(What:="Agent Split", LookIn:=xlValues,_
LookAt:=xlPart, After:=.Cells(r, "A"))
Set headers = .Range(.Cells(r, "A"), endCell)
End If
Next r
End With
headers.Select
End Sub
Однако этот код прошелдиапазоны и выбрал только последний, когда я хочу выбрать их ВСЕ, чтобы проверить это.Поэтому я удалил цикл, который оставил мне следующее
With ActiveSheet
endRow = 500
r = 1 To endRow
If .Cells(r, "A").Value = "Period" Then
Set endCell = .Rows(r).Find(What:="Agent Split", LookIn:=xlValues,_
LookAt:=xlPart, After:=.Cells(r, "A"))
Set headers = .Range(.Cells(r, "A"), endCell)
End If
End With
headers.Select
Но теперь я получаю либо ошибку синтаксиса, либо ошибку компиляции для неожиданного с, или если закрыть, и я застрял.Нужно ли определять условие Тогда?Является ли утверждение If Then даже необходимым?Есть ли другой способ, которым я могу установить условия?