Як видалити рядки на основі кольору тла в Excel?
Як можна видалити цілі рядки на основі кольору тла? У цьому прикладі мені потрібно видалити всі рядки, клітини яких заповнені синім кольором тла, як показано на наступному знімку екрана. У цій статті ви отримаєте деякі коди для досягнення цього завдання в Excel.
Видаліть рядки з певним кольором фону на основі кожної комірки
Видаліть рядки з певним кольором фону на основі одного стовпця
Видаліть рядки з певним кольором фону на основі кожної комірки
Якщо у вас є ряд даних, які випадково заповнюються деякими кольорами комірок, і вам потрібно видалити рядки, кольором комірки яких є синій, як показано на наступному знімку екрана:
Щоб видалити цей тип рядків, ви можете використовувати такий код VBA, будь-ласка, зробіть так:
1. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.
2. Клацання Insert > Модуліта вставте наступний код у Модулі Вікно
Код 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, і всі рядки були видалені, якщо комірка з певним кольором заливки.
Видаліть рядки з певним кольором фону на основі одного стовпця
Якщо ви хочете видалити рядки з певним кольором, що базується лише на одному стовпці, наприклад, видаліть рядки з синім кольором у стовпці А і отримайте знімок екрана нижче, ось також код VBA може зробити вам послугу.
1. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.
2. Клацання Insert > Модуліта вставте наступний код у Модулі Вікно
Код 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, були видалені відразу.
Найкращі інструменти продуктивності офісу
Покращуйте свої навички Excel за допомогою Kutools для Excel і відчуйте ефективність, як ніколи раніше. Kutools для Excel пропонує понад 300 додаткових функцій для підвищення продуктивності та економії часу. Натисніть тут, щоб отримати функцію, яка вам найбільше потрібна...
Вкладка Office Передає інтерфейс із вкладками в Office і значно полегшує вашу роботу
- Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
- Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
- Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!