Как удалить строку, если определенные ячейки в VBA пусты - PullRequest
0 голосов
/ 16 июня 2019

Я пытаюсь удалить всю строку, если все ячейки между определенным диапазоном пустые.

Например, для диапазона B6-H10, если значения из B6-H6 пустые, удалите строку6. Стоит отметить, что столбец А будет заполнен на весь диапазон.

В настоящее время возвращается следующая ошибка:

'Невозможно использовать эту команду для перекрывающихся секций'

Я полагаю, что эта ошибка возникает в результате наличия значенияв пределах одной из клеток в заданном диапазоне.

Код в настоящее время можно найти ниже: -

  Public Sub DeleteERows()

  Dim rng As Range

  Set rng = Range("B6:H10")

  rng.SpecialCells(xlCellTypeBlanks).EntireRow.Select
  rng.SpecialCells(xlCellTypeBlanks).EntireRow.Delete

  End Sub

Любые мысли высоко ценится.

1 Ответ

2 голосов
/ 16 июня 2019

На самом деле несколькими способами, но позвольте мне начать с того, чтобы заверить вас, что вы действительно хотите избегать .Select.

Вместо этого попробуйте:

Option Explicit

Sub DelRows()

Dim X As Long
With ThisWorkbook.Sheets("Sheet1") '<-- Your sheetname goes here
    For X = 10 To 6 Step -1
        If Application.WorksheetFunction.CountA(.Range(.Cells(X, 2), .Cells(X, 8))) = 0 Then
            .Rows(X).EntireRow.Delete
        End If
    Next X
End With

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...