Выбор диапазона зависит от двух ключевых слов - PullRequest
0 голосов
/ 05 февраля 2019

В настоящее время я работаю над проектом по созданию VBA для автоматического удаления пустых строк.С некоторой помощью я создал следующее:

    Dim rngFirst As Range
    Dim rngLast As Range

    Application.ScreenUpdating = False

    With Sheets("Input")
        'Find the start and stop
        Set rngFirst = .Cells.Find(what:="[Performance Income]", lookat:=xlWhole, _
            LookIn:=xlValues, MatchCase:=False)
        Set rngLast = .Cells.Find(what:="[Miscellaneous Income]", _
            lookat:=xlWhole, LookIn:=xlValues, MatchCase:=False)

        .Range(rngFirst, rngLast).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    End With

    Application.ScreenUpdating = True

У меня ошибка 1004 во время выполнения.Я искал причину, почему я думаю, что это как-то связано с моим выбором диапазона.Однако я не знаю конкретно, я надеялся получить помощь.Заранее спасибо.

1 Ответ

0 голосов
/ 05 февраля 2019

Это работает для меня.

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

Чтобы определить новый диапазон, используйте свойство Address начального и конечного диапазонов.

Sub DeleteBlankCells()

    Dim rngFirst As Range
    Dim rngLast As Range

    Dim rngUnion As Range
    Application.ScreenUpdating = False

    With Sheets("Input")
        'Find the start and stop
        Set rngFirst = .Cells.Find(what:="Performance Income", lookat:=xlWhole, _
            LookIn:=xlValues, MatchCase:=False)
        Set rngLast = .Cells.Find(what:="Miscellaneous Income", _
            lookat:=xlWhole, LookIn:=xlValues, MatchCase:=False)

        Set rngUnion = Range(rngFirst.Address, rngLast.Address)

        rngUnion.SpecialCells(xlCellTypeBlanks).EntireRow.Delete

    End With

    Application.ScreenUpdating = True

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