У меня есть числа в столбце A. Я пытаюсь разработать код VBA для поиска каждого номера в столбце A и удалить одну строку выше, если в столбце A есть число. Пример:
Число в A18-> удалить номер строки 17
номер в A21 -> удалить номер строки 20
номер в A33 -> удалить номер строки 32
Этот код предназначен для вставки одной строки вышезначение в столбце А. Я попытался изменить его для удаления:
Dim r6 As Range, r7 As Range
Set printareaP = ThisWorkbook.Worksheets("Pricelist")
With printareaP.Range("Print_Area")
For Each r6 In .Range("A1", .Range("A" & Rows.Count).End(xlUp))
If Not IsEmpty(r6.Value) Then
If r7 Is Nothing Then
Set r7 = r6
Else
Set r7 = Union(r7, r6)
End If
End If
Next r6
If r7 Is Nothing Then
Else
r7.EntireRow.Delete
End If
Я получаю сообщение об ошибке:
Set r7 = Union(r7, r6)
----------------РЕДАКТИРОВАТЬ-----------------------------------------------
Я придумал этот код:
With printareaP.Range("Print_Area")
For Each Cell In .Range("A1", .Range("A" & Rows.Count).End(xlUp))
If Not IsEmpty(Cell.Value) Then
.Cells(Cell.Row - 1, 1).EntireRow.Delete
End If
Next
End With