Я хочу удалить указанное количество строк после найденного значения в столбце. Я нахожу значение поиска в A3, тогда я хочу удалить строки из 4-й строки в указанное количество строк, скажем, от 4-й строки до 11-й строки. В моем коде удаляются альтернативные строки. Если я укажу ~ Rows ("cnt1: cnt2"), это даст ошибку. Нужно руководство для исправления ошибки в моем коде. Изображения до и после запуска кода приведены ниже. Он должен удалить последовательные строки, содержащие AA, BB, CC, DD .....Удалить указанные последовательные строки после найденного значения
код следуют мне дается ниже.
Sub Asearch()
Dim found As Range
Dim FR As Long
Dim cnt1 As Long
Dim cnt2 As Long
Set found = Sheets("Sheet1").Columns("A").Find(what:="Swati", LookIn:=xlValues, lookat:=xlWhole)
If found Is Nothing Then
MsgBox "Not found"
Else
MsgBox "Found on row " & found.Row
FR = found.Row
cnt1 = FR + 1
Debug.Print cnt1
cnt2 = 11
Do While cnt1 <= cnt2
Rows(cnt1).EntireRow.Delete
cnt1 = cnt1 + 1
Debug.Print cnt1
Loop
End If
End Sub
РЕДАКТИРОВАТЬ публикации на основе руководства @micstr. Проблема решена. Обновленный код приведен ниже.
Sub Asearch2()
Dim found As Range
Dim FR As Long
Dim cnt1 As Long
Dim cnt2 As Long
Set found = Sheets("Sheet1").Columns("A").Find(what:="Swati", LookIn:=xlValues, lookat:=xlWhole)
If found Is Nothing Then
MsgBox "Not found"
Else
MsgBox "Found on row " & found.Row
FR = found.Row
cnt1 = FR + 1
Debug.Print cnt1
cnt2 = 11
Do While cnt2 >= cnt1
Rows(cnt2).EntireRow.Delete
cnt2 = cnt2 - 1
Debug.Print cnt2
Loop
End If
End Sub
Я попытался удалить ряд строк, попробовав код ~ Rows ("cnt1: cnt2"). EntireRow.Delete ~, но он дает ошибку, кажется, не является правильным синтаксисом. Пожалуйста, предложите модификацию кода для этой цели. Мой уровень в VBA является базовым. пожалуйста помоги. – skkakkar
Спасибо за ценное руководство. Проблема решена, и я загрузил отредактированный код. – skkakkar
Отлично - рад, что вы его взломали. Иногда отладка может быть ад! – micstr