Ошибка выполнения VBA 424: требуется объект при попытке удалить пустые строки на листе - PullRequest
0 голосов
/ 05 июля 2018

Из исследований я обнаружил, что ошибка вызвана тем, что объект не может быть распознан. Я установил диапазон для определенного столбца, думая, что столбец («E») не может быть идентифицирован, возможно, но у меня все еще есть та же ошибка. Как я могу исправить эту ошибку, или есть ли лучший способ удалить строки на листе? Заранее спасибо.

Вот программа:

Sub DeleteBlanks()

Dim rng As Range
Dim wb As Workbook

Set wb = Workbooks.Open("IPIC-DATA-2.xlsx")

ws = wb.Sheets("Sheet1").Activate

Set rng = Range("E:E")

ws.Columns(rng).SpecialCells(xlCellTypeBlanks).EntireRow.Delete

wb.Close SaveChanges:=True

End Sub

1 Ответ

0 голосов
/ 05 июля 2018

Ваш синтаксис немного отключен. Определите рабочий лист и укажите это. rng уже определен как диапазон (со ссылкой на лист), поэтому нет необходимости заключать его в лист или столбец.

Sub DeleteBlanks()

Dim rng As Range
Dim wb As Workbook, ws As Worksheet

Set wb = Workbooks.Open("IPIC-DATA-2.xlsx")
Set ws = wb.Sheets("Sheet1")
Set rng = ws.Range("E:E")

On Error Resume Next 'avoid error if there are no blanks
rng.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
On Error GoTo 0

wb.Close SaveChanges:=True

End Sub
...