Как в excel удалить строки определенного цвета
- Советы по Excel
- Функции Excel
- Формулы Excel
- Советы по словам
- Советы по Outlook
Как удалить строки на основе цвета фона в Excel?
Как можно удалить целые строки в зависимости от цвета фона? В этом примере мне нужно удалить все строки, ячейки которых заполнены синим цветом фона, как показано на следующем снимке экрана. В этой статье вы получите несколько кодов для выполнения этой задачи в Excel.
Удалить строки с определенным цветом фона на основе каждой ячейки
Если у вас есть диапазон данных, которые случайным образом заполнены некоторыми цветами ячеек, и вам нужно удалить строки, цвет ячейки которых синий, как показано на следующем снимке экрана:
Чтобы удалить этот тип строк, вы можете использовать следующий код VBA, сделайте следующее:
1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > модульи вставьте следующий код в модуль Окно.
Код VBA: удалить строки, ячейки которых содержат определенный цвет заливки:
3, Затем нажмите F5 нажмите клавишу для запуска этого кода, и появится диалоговое окно, напоминающее вам о выборе ячейки с цветом заливки, который вы хотите удалить, см. снимок экрана:
4, Затем нажмите OK, и все строки были удалены, если ячейка с определенным цветом заливки.
Удалить строки с определенным цветом фона на основе одного столбца
Если вы хотите удалить строки с определенным цветом на основе только одного столбца, например, удалите строки с синим цветом в столбце A и получите снимок экрана ниже, вот также код VBA может оказать вам услугу.
1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > модульи вставьте следующий код в модуль Окно.
Код VBA: удаление строк на основе столбца, ячейки которого имеют определенный цвет заливки:
Внимание: В приведенном выше коде A2: A21 — это столбец, содержащий определенный цвет заливки, на основе которого вы хотите удалить строки, число 20 in ColorIndex = 20 script — это индекс цвета, на основе которого вы хотите удалить строки. Вы можете изменить их по своему усмотрению.
3, Затем нажмите F5 ключ для запуска этого кода, и все строки, ячейки которых содержат синий цвет в столбце A, были удалены сразу.
Как удалить строки на основе цвета фона ячейки?
Я копирую и вставляю диапазон ячеек с одного листа на другой, который хочу редактировать.
Я хочу пройти через столбец D и проверить цвет фона каждой ячейки. Если есть цвет помимо белого, я хочу удалить всю строку, к которой принадлежит ячейка.
В итоге я хочу сохранить только те строки, в которых ячейка в столбце D не имеет заливки или имеет белый цвет фона.
Код ниже выполняет эту задачу, но занимает так много времени. Общее количество строк, обрабатываемых макросом, составляет 700.
Я предоставляю два разных типа кода. Оба они так долго.
КОД 1
КОД 2
3 ответа
Попробуйте этот код:
Я вложил If для имитации короткого замыкания, что улучшит выполнение кода.
Я посмотрел на Union и адаптировал ваш код 1. Вы также можете включить здесь обновление экрана и режим расчета, но поскольку удаление происходит только в конце кода, это не должно сильно влиять на производительность.
(Код не проверен)
Вы должны использовать код 2. Отключение ScreenUpdating и Calculations значительно ускорит код.