Note: The other languages of the website are Google-translated. Back to English

Hur markerar jag kolumn eller kolumnrubrik om den filtreras i Excel?

För en tabell med flera kolumner är det inte lätt att ta reda på vilken kolumn som filtreras snabbt, eftersom det inte finns någon uppenbar symbol för den filtrerade kolumnen förutom en märke. Om du vill göra den filtrerade kolumnen enastående i en tabell kan en metod i den här artikeln hjälpa dig.

Markera kolumnrubrik eller hela kolumnen om den filtreras med VBA-kod


Markera kolumnrubrik eller hela kolumnen om den filtreras med VBA-kod

Som bilden nedan visas måste du markera hela kolumnen eller bara kolumnrubriken om den här kolumnen är filtrerad i ett tabellintervall, använd följande VBA-koder.

1. tryck på andra + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka på i fönstret Microsoft Visual Basic for Applications Insert > Modulerna. Kopiera sedan VBA-koden nedan till modulfönstret.

VBA-kod: Markera kolumnrubrik om kolumnen är filtrerad

Sub HighLightTitle()
'Updated by Extendoffice 2017/9/12
    Dim xRg As Range
    Dim I As Integer
    Dim xCount As Long
    Dim xRgCol As Long
    Dim xAddress As String
    Dim xFilterCount As Long
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the first cell of the table range:", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    xRg.Select
    With xRg(1).Parent.AutoFilter
        xFilterCount = .Range.Columns.Count
        xRgCol = xRg.Offset(1).Column - .Range.Column + 1
        For I = xRgCol To xFilterCount
            xCount = xRg.Offset(, I - xRgCol).Column - .Range.Column + 1
            With .Filters(xCount)
                If .On Then
                    xRg.Offset(, I - xRgCol).Interior.Color = 16736553
                End If
            End With
        Next
    End With
End Sub

För att markera hela kolumnen om den är filtrerad i en tabell, vänligen kopiera och klistra in nedanstående VBA-kod i modulfönstret.

VBA-kod: Markera hela kolumnen om den är filtrerad

Sub HighLightCols()
'Updated by Extendoffice 2017/9/12
    Dim xRg As Range
    Dim xCount As Long
    Dim xRgCol As Long
    Dim xAddress As String
    Dim xRgFilter As Range
    Dim xFilterCount As Long
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the first cell of the table range:", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    xRg.Select
    With xRg(1).Parent.AutoFilter
        xFilterCount = .Range.Columns.Count
        xRgCol = xRg(1).Column - .Range.Column + 1
        For I = xRgCol To xFilterCount
            xCount = xRg.Offset(, I - xRgCol).Column - .Range.Column + 1
            With .Filters(xCount)
                Set xRgFilter = xRg.Offset(, I - xRgCol).Parent.AutoFilter.Range.Columns(xCount)
                If .On Then
                    xRgFilter.Interior.Color = 16736553
                End If
            End With
        Next
    End With
End Sub

3. tryck på F5 för att köra koden. I pop-up Kutools för Excel Välj den första cellen i tabellen som du behöver för att markera den filtrerade kolumnrubriken eller hela den filtrerade kolumnen och klicka sedan på OK knapp.

Sedan markeras kolumnrubriken eller hela kolumnen omedelbart om kolumnen filtreras i en viss tabell. Se skärmdumpar:

Markera kolumnrubrik om kolumnen är filtrerad i tabellen:

Markera hela kolumnen om den är filtrerad i tabellen:


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

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!
officetab botten
Sortera kommentarer efter
Kommentarer (5)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
det här skulle vara fantastiskt för mig, men jag kunde inte få det att fungera. Jag använde koden för att färglägga hela kolumnen. När jag filtrerade första gången blev kolumnen blå. men när jag rensade filtret fanns det blå kvar. Efteråt hade filtrering av en annan kolumn ingen effekt. så för tillfället står jag kvar med en blå kolumn. använder senaste Excel i Office 365.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej,
Tack för din kommentar.
Problemet du nämnde är för komplicerat för att uppnå nu. Vi kommer att göra vårt bästa för att lösa det så snart som möjligt och låter dig veta när vi har löst det.
Denna kommentar minimerades av moderatoren på webbplatsen
För att korrigera detta, ändra:
Om .På Då

xRg.Offset(, I - xRgCol).Interior.Color = 16736553

End If

Till:
Om .På Då

xRg.Offset(, I - xRgCol).Interior.Color = 16736553

annars

xRg.Offset(, I - xRgCol).Interior.Color = 16777215

End If



Inte det kommer att ta bort färgen.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag hade samma problem. När kolumnen är ofiltrerad. Kolumnen förblev blå. Dessutom, när filtrerar du en ny kolumn, är den oförändrad. VBA gör det inte markerat i den nya filterkolumnen.
Denna kommentar minimerades av moderatoren på webbplatsen
lösning som kan hjälpa till att skapa uppdaterad vba är ATT lägga till ytterligare dubblett första raw i rad A1, rad A2 ska vara början på den filtrerade datan (exakt dubblett av all data i rad A1 - rad A1 och A2 ska mig samma ), så vi alltid ha en rubrikrad utan filterrullgardinsikon och med OG-format, när makrot har körts med några filtrerade kolumner kommer det att markera den filtrerade kolumnen som vanligt och efter att ha tagit bort önskat kolumnfilter eller alla kolumnfiltret ska det kopiera formatet i A1 kolumn , kan detta göras för kolumner utan filtrerad sortering?
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL