Hvordan slettes rækker baseret på baggrundsfarve i Excel?
Hvordan kunne du slette hele rækker baseret på baggrundsfarve? I dette eksempel skal jeg slette alle rækker, hvilke celler der er fyldt med blå baggrundsfarve som vist på det viste skærmbillede. Med denne artikel får du nogle koder til at nå denne opgave i Excel.
Slet rækker med specifik baggrundsfarve baseret på hver celle
Slet rækker med specifik baggrundsfarve baseret på en kolonne
Slet rækker med specifik baggrundsfarve baseret på hver celle
Hvis du har en række data, der tilfældigt udfyldes med nogle cellefarver, og du skal slette de rækker, som cellefarven er blå, som følgende skærmbillede vist:
For at slette denne type rækker kan du bruge følgende VBA-kode, gør venligst som denne:
1. Hold nede ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.
2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler Vindue.
VBA-kode: Slet rækker, som celler indeholder specifik udfyldningsfarve:
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. Og tryk derefter på F5 nøgle til at køre denne kode, og der vises et promptfelt for at minde dig om at vælge en celle med den udfyldningsfarve, du vil slette, se skærmbillede:
4. Klik derefter på OK, og alle rækkerne er slettet, hvis cellen med en bestemt udfyldningsfarve.
Slet rækker med specifik baggrundsfarve baseret på en kolonne
Hvis du vil slette rækkerne med en bestemt farve baseret på kun en kolonne, skal du f.eks. Slette rækkerne med blå farve i kolonne A og få nedenstående skærmbillede, her er også en VBA-kode, der kan gøre dig en tjeneste.
1. Hold nede ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.
2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler Vindue.
VBA-kode: Slet rækker baseret på en kolonne, som celler har specifik udfyldningsfarve:
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
Bemærk: I ovenstående kode, A2: A21 er den kolonne, der indeholder den specifikke udfyldningsfarve, som du vil slette rækkerne baseret på, antallet 20 in Farveindeks = 20 script er det farveindeks, som du vil slette rækker baseret på. Du kan ændre dem til dit behov.
3. Tryk derefter på F5 nøgle til at køre denne kode, og alle rækker, som celler indeholder den blå farve i kolonne A, er slettet på én gang.
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!