Как удалить строки на основе цвета фона в Excel?
Как можно удалить все строки на основе цвета фона? В этом примере мне нужно удалить все строки, ячейки которых заполнены синим цветом фона, как показано на следующем скриншоте. В этой статье вы получите несколько кодов для выполнения этой задачи в Excel.
Удаление строк с определенным цветом фона на основе каждой ячейки
Удаление строк с определенным цветом фона на основе одного столбца
Удаление строк с определенным цветом фона на основе каждой ячейки
Если у вас есть диапазон данных, заполненных некоторыми цветами ячеек случайным образом, и вам нужно удалить строки, где цвет ячейки синий, как показано на следующем скриншоте:
Чтобы удалить этот тип строк, вы можете использовать следующий код VBA, пожалуйста, сделайте следующее:
1. Нажмите и удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
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 for Applications.
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 в скрипте ColorIndex = 20 — это индекс цвета, на основе которого вы хотите удалить строки. Вы можете изменить их по своему усмотрению.
3. Затем нажмите клавишу F5, чтобы запустить этот код, и все строки, ячейки которых содержат синий цвет в столбце A, будут удалены сразу.
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!