Sub Main()
Application.ScreenUpdating = False
Dim i As Long, r As Range
For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
Set r = Range("A" & i)
If IsEmpty(r.Offset(0, 1)) Then r.EntireRow.Delete shift:=xlUp
Next i
Application.ScreenUpdating = True
End Sub
первый вам нужен цикл, чтобы перебрать все ячейки в столбце A
For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
устанавливает цикл, который перебирает из последней ячейки в первой в колонке А
Range("A" & Rows.Count).End(xlUp).Row
находит последнюю ячейку, используемый в колонке A
Set r = Range("A" & i)
устанавливает переменную г быть объектом Диапазон
If IsEmpty(r.Offset(0, 1)) Then
Смещение указывает на ячейку в столбце B в той же строке, так что если соседняя ячейка столбца А (который является клетка (sameRow, колонка Б) пусто, то
r.EntireRow.Delete shift:=xlUp
удалить всю строку
Application.ScreenUpdating = False/True
выключить обновление экрана, чтобы ускорить выполнение при использовании петель
Вопросы, требующие кода, должны демонстрировать минимальное понимание решаемой проблемы. Включите попытки решения, почему они не работают и ожидаемые результаты. См. Также: [Контрольный список вопросов переполнения стека] (http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist) –
Я изменил свои вопросы. Я надеюсь, что это более ясно. – adp