Удаление строк по цвету |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Как можно удалить целые строки в зависимости от цвета фона? В этом примере мне нужно удалить все строки, ячейки которых заполнены синим цветом фона, как показано на следующем снимке экрана. В этой статье вы получите несколько кодов для выполнения этой задачи в Excel.
Удалить строки с определенным цветом фона на основе каждой ячейки
Удалить строки с определенным цветом фона на основе одного столбца
Удалить строки с определенным цветом фона на основе каждой ячейки
Если у вас есть диапазон данных, которые случайным образом заполнены некоторыми цветами ячеек, и вам нужно удалить строки, цвет ячейки которых синий, как показано на следующем снимке экрана:
Чтобы удалить этот тип строк, вы можете использовать следующий код VBA, сделайте следующее:
1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.
Код VBA: удалить строки, ячейки которых содержат определенный цвет заливки:
Sub DeleteRows()
'Updateby Extendoffice
Dim rngCl As Range
Dim xRows As Long
Dim xCol As Long
Dim colorLg As Long
On Error Resume Next
Set rngCl = Application.InputBox _
(Prompt:="Select a cell with the background color to be deleted", _
Title:="Kutools for Excel", Type:=8)
On Error GoTo 0
If rngCl Is Nothing Then
MsgBox "User cancelled operation." & vbCrLf & _
"Processing terminated", vbInformation, "Kutools for Excel"
Exit Sub
End If
colorLg = rngCl.Interior.Color
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
For xRows = .Rows.Count To 1 Step -1
For xCol = 1 To .Columns.Count
If .Cells(xRows, xCol).Interior.Color = colorLg Then
.Rows(xRows).Delete
Exit For
End If
Next xCol
Next xRows
End With
Application.ScreenUpdating = True
End Sub
3, Затем нажмите F5 нажмите клавишу для запуска этого кода, и появится диалоговое окно, напоминающее вам о выборе ячейки с цветом заливки, который вы хотите удалить, см. снимок экрана:
4. Затем нажмите OK, и все строки были удалены, если ячейка с определенным цветом заливки.
Удалить строки с определенным цветом фона на основе одного столбца
Если вы хотите удалить строки с определенным цветом на основе только одного столбца, например, удалите строки с синим цветом в столбце A и получите снимок экрана ниже, вот также код VBA может оказать вам услугу.
1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.
Код VBA: удаление строк на основе столбца, ячейки которого имеют определенный цвет заливки:
Sub deleterow()
'UpdateBY Extendoffice
Dim xRg As Range, rgDel As Range
For Each xRg In ThisWorkbook.ActiveSheet.Range("A2:A21")
If xRg.Interior.ColorIndex = 20 Then
If rgDel Is Nothing Then
Set rgDel = xRg
Else
Set rgDel = Union(rgDel, xRg)
End If
End If
Next xRg
If Not rgDel Is Nothing Then rgDel.EntireRow.Delete
End Sub
Внимание: В приведенном выше коде A2: A21 — это столбец, содержащий определенный цвет заливки, на основе которого вы хотите удалить строки, число 20 in Индекс цвета = 20 script — это индекс цвета, на основе которого вы хотите удалить строки. Вы можете изменить их по своему усмотрению.
3, Затем нажмите F5 ключ для запуска этого кода, и все строки, ячейки которых содержат синий цвет в столбце A, были удалены сразу.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
В таблице имеется n-е кол-во строк жёлтого цвета. Каким образом их можно удалить со смешением вверх |
|
Юрий М Модератор Сообщений: 60585 Контакты см. в профиле |
Если заливка условным форматированием, то задача усложняется. Если нет — обычный макрос с этим справится. |
Юрий М нигде не помечал, что тема закрытая, заливка без условного форматирования. |
|
И где (как?) указать цвет? |
|
{quote}{login=Юрий М}{date=25.02.2010 11:13}{thema=}{post}Если заливка условным форматированием, то задача усложняется. Если нет — обычный макрос с этим справится.{/post}{/quote}А почему с УФ задача усложниться? Разве нальзя искать (и удалить) строки по условию формата? |
|
А можно увидеть пример кода на VBA, где задаётся условие удаления — цвет, пожалуйста. |
|
Юрий М Модератор Сообщений: 60585 Контакты см. в профиле |
С пометкой я ошибся — не туда глянул Извиняюсь. |
Ученик Гость |
#8 25.02.2010 23:28:51 Спасибо, Юрий М., вы наверное устаёте помогать такому количеству людей, но делаете благородное дело. |
На чтение 2 мин. Просмотров 49 Опубликовано 23.05.2021
Как удалить целые строки в зависимости от цвета фона? В этом примере мне нужно удалить все строки, ячейки которых заполнены синим цветом фона, как показано на следующем снимке экрана. В этой статье вы получите несколько кодов для выполнения этой задачи в Excel.
Удалить строки с определенным цветом фона на основе каждой ячейки
Удалить строки с определенным цветом фона на основе одного столбца
Удалить строки с определенным цветом фона на основе каждая ячейка
Если у вас есть диапазон данных, который случайным образом заполнен некоторыми цветами ячеек, и вам нужно удалить строки, у которых цвет ячейки синий, как показано на следующем снимке экрана:
Чтобы удалить этот тип строк, вы можете использовать следующий VBA код, сделайте следующее:
1 . Удерживая нажатыми клавиши ALT + F11 , откройте окно Microsoft Visual Basic для приложений .
2 . Нажмите Вставить > Module и вставьте следующий код в окно Module .
Код VBA: удалите строки, ячейки которых содержат определенный цвет заливки:
3 . Затем нажмите клавишу F5 , чтобы запустить этот код, и появится окно подсказки, напоминающее вам о выборе ячейки с цветом заливки, который вы хотите удалить, см. Снимок экрана:
4 . Затем нажмите OK , и все строки будут удалены, если ячейка с определенным цветом заливки.
Удалить строки с определенным цветом фона на основе одного столбца
Если вы хотите удалить строки с конкретный цвет на основе только одного столбца, например, удалите строки с синим цветом в столбце A и получите снимок экрана ниже, здесь также код VBA может оказать вам услугу.
1 . Удерживая нажатыми клавиши ALT + F11 , откройте окно Microsoft Visual Basic для приложений .
2 . Нажмите Вставить > Module и вставьте следующий код в окно Module .
Код VBA: удаление строк на основе столбца, ячейки которого имеют определенный цвет заливки:
Примечание : в приведенном выше коде , – это столбец, содержащий определенный цвет заливки, на основе которого вы хотите удалить строки, номер 20 в скрипте ColorIndex = 20 – это индекс цвета, на основе которого вы хотите удалить строки. Вы можете изменить их по своему усмотрению.
3 . Затем нажмите клавишу F5 , чтобы запустить этот код, и все строки, ячейки которых содержат синий цвет в столбце A, были удалены сразу.
Is it possible to clear a large number of cells contents based on color alone? I don’t think that simply filtering is going to work well on this because the dataset is large and ‘wide’
asked Feb 13, 2012 at 20:06
wootscootinboogiewootscootinboogie
8,36133 gold badges109 silver badges194 bronze badges
If you don’t need this done programatically, it can be faster to just use Find and Replace (Ctrl-H).
- Press
Ctrl-H
- Click
Options > >
- Click the top
Format...
button to search for for colored cells (use theFill
tab) - Leave the
Replace with
field blank to delete the contents of cells with the format you specified.
answered Feb 13, 2012 at 20:45
0
This will clear the content of any cell within the range A1:G8 filled with yellow (65535). Change the color for your color and the range for your range. This is kind of crude, sorry.
Sub Macro1()
Range("A1:G8").Select
For Each Cell In Selection
If Cell.Interior.Color = Excel.XlRgbColor.rgbYellow Then
Cell.Clear
End If
Next
End Sub
jpsecher
4,3152 gold badges33 silver badges40 bronze badges
answered Feb 13, 2012 at 20:21
RaystafarianRaystafarian
2,8922 gold badges30 silver badges42 bronze badges
2
You can clear cells by background color using Excel’s filter options.
For Excel 2013 & 2010
-
Open a worksheet where each column has a header row.
-
Enable column filtering with Data -> Sort & Filter -> Filter
-
Click the drop-down-arrow on a column, go to Filter by Color, and select a color you want to view. (Any non-colored cells will be hidden)
-
Select the remaining cells, right-click and select Clear Contents.
-
To unhide the remaining cells, disable column filtering with Data -> Sort & Filter -> Filter
answered Nov 29, 2017 at 17:38
StevoisiakStevoisiak
22.8k27 gold badges122 silver badges219 bronze badges