Hur tar jag bort rader baserat på bakgrundsfärg i Excel?
Hur kunde du radera hela rader baserat på bakgrundsfärg? I det här exemplet måste jag ta bort alla rader som celler fyllda med blå bakgrundsfärg enligt följande skärmdump. Med den här artikeln får du några koder för att uppnå denna uppgift i Excel.
Ta bort rader med specifik bakgrundsfärg baserat på varje cell
Ta bort rader med specifik bakgrundsfärg baserat på en kolumn
Ta bort rader med specifik bakgrundsfärg baserat på varje cell
Om du har en rad data som fylls med vissa cellfärger slumpmässigt och du måste ta bort de rader som cellfärgen är blå enligt följande skärmdump:
För att radera denna typ av rader kan du använda följande VBA-kod, gör så här:
1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.
2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.
VBA-kod: Ta bort rader som celler innehåller specifik fyllningsfärg:
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. Och tryck sedan på F5 nyckel för att köra den här koden, och en snabbruta kommer att dyka upp för att påminna dig om att välja en cell med fyllningsfärgen som du vill ta bort, se skärmdump:
4. Klicka sedan OK, och alla rader har tagits bort om cellen med en specifik fyllningsfärg.
Ta bort rader med specifik bakgrundsfärg baserat på en kolumn
Om du till exempel vill ta bort raderna med specifik färg baserat på endast en kolumn, ta till exempel raderna med blå färg i kolumn A och få nedanstående skärmdump, här är också en VBA-kod som kan göra dig en tjänst.
1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.
2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.
VBA-kod: Radera rader baserat på en kolumn som celler har specifik fyllningsfärg:
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
Anmärkningar: I ovanstående kod, A2: A21 är den kolumn som innehåller den specifika fyllningsfärgen som du vill ta bort raderna baserat på, numret 20 in ColorIndex = 20 skript är det färgindex som du vill ta bort rader baserat på. Du kan ändra dem efter dina behov.
3. Tryck sedan på F5 -knappen för att köra den här koden och alla rader som innehåller den blå färgen i kolumn A har tagits bort samtidigt.
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!