У меня есть электронная таблица, которая в столбце AI ставит Y, когда я выставляю счет. В конце месяца я хочу удалить ВСЕ строки с буквой Y только в столбце А, а затем переместить все строки вверх, чтобы в электронной таблице не было пустых строк. Как самый быстрый способ сделать это, так как у меня есть 26 отдельных таблиц, которые мне нужны для каждого конца месяца?

1 ответ1

1

Вам нужен этот VBA (Макрос), чтобы удалить все строки, у которых есть Y в столбце A, по рабочим листам.

Option Explicit


Sub DeleteRows()

Dim ws As Worksheet
Dim lr As Long
Dim i As Long

Application.ScreenUpdating = False

For Each ws In Worksheets

lr = ws.Range("A" & Rows.Count).End(xlUp).Row

For i = lr To 1 Step -1

 If ws.Range("A" & i) = "Y" Then
    ws.Range("A" & i).EntireRow.Delete
 End If
 Next i
 Next ws

 Application.ScreenUpdating = True

 MsgBox "Rows Deleted"

End Sub

NB

  • Скопируйте и вставьте этот код как стандартный модуль.
  • Строка поиска "Y" для удаления строк по листам доступна для редактирования.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .