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

Comment mettre en évidence une colonne ou un en-tête de colonne s'il est filtré dans Excel?

Pour une table à plusieurs colonnes, il n'est pas facile de savoir quelle colonne est filtrée en un coup d'œil car il n'y a pas de symbole évident pour la colonne filtrée à l'exception d'un marque. Si vous souhaitez rendre la colonne filtrée exceptionnelle dans une table, une méthode de cet article peut vous aider.

Mettez en surbrillance l'en-tête de colonne ou la colonne entière si elle est filtrée avec le code VBA


Mettez en surbrillance l'en-tête de colonne ou la colonne entière si elle est filtrée avec le code VBA


Comme illustré ci-dessous, vous devez mettre en surbrillance la colonne entière ou uniquement l'en-tête de colonne si cette colonne est filtrée dans une plage de tableau, veuillez appliquer les codes VBA suivants.

1. appuie sur le autre + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. Dans la fenêtre Microsoft Visual Basic pour Applications, cliquez sur insérer > Module. Copiez ensuite le code VBA ci-dessous dans la fenêtre Module.

Code VBA: mettez en surbrillance l'en-tête de colonne si la colonne est filtrée

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

Pour mettre en évidence la colonne entière si elle est filtrée dans un tableau, veuillez copier et coller le code VBA ci-dessous dans la fenêtre Module.

Code VBA: mettez en surbrillance toute la colonne si elle est filtrée

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. appuie sur le F5 clé pour exécuter le code. Dans le popping Kutools pour Excel boîte de dialogue, veuillez sélectionner la première cellule du tableau dont vous avez besoin pour mettre en surbrillance l'en-tête de colonne filtrée ou toute la colonne filtrée, puis cliquez sur le OK .

Ensuite, l'en-tête de colonne ou la colonne entière sera mise en surbrillance immédiatement si la colonne est filtrée dans un certain tableau. Voir les captures d'écran:

Mettez en surbrillance l'en-tête de colonne si la colonne est filtrée dans le tableau:

Mettez en surbrillance toute la colonne si elle est filtrée dans le tableau:


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Commentaires (5)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
ce serait fantastique pour moi, mais je ne pouvais pas le faire fonctionner. J'ai utilisé le code pour colorer toute la colonne. quand j'ai filtré la première fois, la colonne est devenue bleue. cependant, lorsque j'ai effacé le filtre, le bleu est resté. Par la suite, filtrer une autre colonne n'a eu aucun effet. donc pour le moment il me reste une colonne bleue. en utilisant le dernier Excel d'Office 365.
Ce commentaire a été minimisé par le modérateur sur le site
Hi,
Merci pour votre commentaire.
Le problème que vous avez mentionné est trop compliqué à résoudre maintenant. Nous ferons de notre mieux pour le résoudre dès que possible et vous informerons une fois que nous l'aurons résolu.
Ce commentaire a été minimisé par le modérateur sur le site
Pour corriger cela, modifiez :
Si .Activé Alors

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

Si fin

À:
Si .Activé Alors

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

autre

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

Si fin



Non il enlèvera la couleur.
Ce commentaire a été minimisé par le modérateur sur le site
J'ai eu le même problème. Une fois la colonne non filtrée. La colonne est restée bleue. De plus, quand filtrez-vous une nouvelle colonne, elle reste inchangée. Le vba ne le met pas en surbrillance dans la nouvelle colonne de filtre.
Ce commentaire a été minimisé par le modérateur sur le site
la solution qui peut aider à créer vba mis à jour est d'ajouter un premier doublon supplémentaire dans la ligne A1, la ligne A2 doit être le début des données filtrées (duplication exacte de toutes les données de la ligne A1 - les lignes A1 et A2 doivent être identiques), donc nous toujours avoir une ligne d'en-tête sans icône déroulante de filtre et avec le format OG, une fois que la macro est exécutée avec quelques colonnes filtrées, elle mettra en surbrillance la colonne filtrée comme d'habitude et après avoir supprimé le filtre de colonnes souhaité ou le filtre de toutes les colonnes, il doit copier le format dans la colonne A1 , pour les colonnes sans tri filtré cela peut-il être fait ?
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés