Сохраните копию файла перед началом удаления. Затем вы можете использовать код VBA, который удаляет строку, когда ячейка ( rngCell
) имеет значение, отличное от 001 или B_Code или пробела.
If rngCell.Value <> "001" _ And rngCell.Value <> "B_Code" _ And rngCell.Value <> "" _ Then rngCell.EntireRow.Delete End If
Поместите этот код в For
цикл, чтобы проверить все ячейки в столбце А. Поскольку вы удаляете строки, начните цикл в последней строке и поднимитесь вверх с помощью Step -1
. Код, который находит последнюю строку ( lngLastRowNumber
), объясняется в разделе «Поиск последней использованной ячейки в диапазоне» .
lngLastRowNumber = Cells(Rows.Count, "A").End(xlUp).row For lngRowNumber = lngLastRowNumber To 1 Step -1 Set rngCell = Columns("A").Rows(lngRowNumber) If rngCell.Value <> "001" _ And rngCell.Value <> "B_Code" _ And rngCell.Value <> "" _ Then rngCell.EntireRow.Delete End If Next lngRowNumber
Чтобы удалить строки на каждом рабочем листе, поместите цикл в другой цикл, который является For Each
рабочим листом.
Пишите о любых проблемах, которые у вас есть, когда вы пишете и тестируете код.