Удаление всей строки на основе пустой ячейки в столбце - PullRequest
0 голосов
/ 09 июля 2019

Мы используем экспортированный в SharePoint файл Excel для отслеживания сверхурочных.Есть две стороны, которые влияют на эту проблему:

  1. Сотрудник показывает, что работал, введя Время начала в столбце 'P'
  2. Если планировалось сверхурочное время, но сотрудник НЕ выполнялработая OT, они оставляют ячейку в столбце «P» ОЧЕРЕДНЫМ.

Это может быть даже ошибкой установки.Я добавил модуль в VBAProject PERSONAL.xlsb.

Затем я попытался найти код, найденный здесь, в поиске похожих случаев, но, похоже, ничего не помогло.

Я использую Excel 2016.

Я пробовал множество кодов, но это кажется самым простым:

Sub NewBlanks()
    Dim LastRow As Integer
    LastRow = Range("A" & Rows.Count).End(xlUp).row
    Range("P2:P" & LastRow).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

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

1 Ответ

0 голосов
/ 09 июля 2019

Попробуйте:

Sub DeleteRows()
Dim mFind As Range

Set mFind = Columns("P").Find("")
If mFind Is Nothing Then
    MsgBox "There is no cell found with the text ''" _
    & " in column P of the active sheet."
    Exit Sub
End If

firstaddress = mFind.Address

Do

    Range(mFind, Cells(mFind.Row, "P")).EntireRow.Delete
    Set mFind = Columns("P").Find("")
    If mFind Is Nothing Then Exit Sub
    Set mFind = Columns("P").FindNext(mFind)

Loop While mFind.Address <> firstaddress

End Sub

Доброго отношения

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