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

 Comment sélectionner une colonne en fonction de l'en-tête de colonne dans Excel?

Supposons que vous ayez une grande feuille de calcul contenant plusieurs colonnes et que vous souhaitiez maintenant sélectionner la colonne spécifique en fonction d'un nom d'en-tête de colonne. Pour trouver la colonne par colonne dans une grande feuille de calcul va perdre beaucoup de temps, cet article, je vais vous présenter une méthode rapide pour résoudre ce travail dans Excel.

Sélectionnez une colonne en fonction du nom de l'en-tête de colonne avec le code VBA


Sélectionnez une colonne en fonction du nom de l'en-tête de colonne avec le code VBA


Le code VBA suivant peut vous aider à sélectionner les colonnes en fonction d'un nom d'en-tête spécifique, procédez comme suit:

1. Maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2Cliquez sur insérer > Moduleet collez le code suivant dans le Module Fenêtre.

Code VBA: sélectionnez la colonne en fonction du nom de l'en-tête de colonne:

Sub FindAddressColumn()
'Updateby Extendoffcie
    Dim xRg As Range
    Dim xRgUni As Range
    Dim xFirstAddress As String
    Dim xStr As String
    On Error Resume Next
    xStr = "Name"
    Set xRg = Range("A1:P1").Find(xStr, , xlValues, xlWhole, , , True)
    If Not xRg Is Nothing Then
        xFirstAddress = xRg.Address
        Do
            Set xRg = Range("A1:P1").FindNext(xRg)
            If xRgUni Is Nothing Then
                Set xRgUni = xRg
            Else
                Set xRgUni = Application.Union(xRgUni, xRg)
            End If
        Loop While (Not xRg Is Nothing) And (xRg.Address <> xFirstAddress)
    End If
    xRgUni.EntireColumn.Select
End Sub

Notes: Dans le code ci-dessus, A1: P1 est la plage d'en-têtes dans laquelle vous souhaitez sélectionner des colonnes, et "Nom”Dans le script xStr = "Nom" est le nom d'en-tête sur lequel vous souhaitez sélectionner les colonnes. Veuillez les modifier selon vos besoins.

3. Après avoir copié et collé le code, veuillez appuyer sur F5 clé pour exécuter ce code, et toutes les colonnes avec le nom d'en-tête spécifique ont été sélectionnées à la fois, voir capture d'écran:


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 (6)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
C'est génial, mais que se passe-t-il si je voulais copier, par exemple, CustomerName, OrderNumber, OrderDate, FulfillmentDate, OrderStatus de Sheet1 avec beaucoup plus de colonnes.
Comment spécifier uniquement les colonnes qui doivent être copiées dans une autre feuille ? Cela semble ne spécifier qu'une seule colonne.
J'ai essayé certaines choses, mais le problème est plus là où les colonnes ne sont pas nécessairement dans le même ordre sur la feuille source. Les données source de Sheet1 sont collées du presse-papiers Windows vers la feuille Excel.

Il peut s'agir de CustomerName, OrderDate, OrderNumber, OrderStatusm FulfillmentDate ou d'une autre commande.

J'ai besoin qu'ils soient copiés dans une nouvelle feuille dans un ordre spécifique car il y a des formules dans Sheet2 qui sont appliquées à ce qui est copié de Sheet1 à Sheet2.

À part déplacer les colonnes après avoir collé à partir du presse-papiers de Windows, je ne peux pas comprendre cela.

S'il vous plaît aider si possible.

Merci pour ce qui précède cependant.
Ce commentaire a été minimisé par le modérateur sur le site
Dim xRg As Range
Dim xRgUni As Range
Dim xFirstAddress As String
Dim xStr As String

Les variables sont-elles déclarées.

Par conséquent, pour utiliser à nouveau le code ci-dessus pour une autre colonne, vous devrez déclarer de nouvelles variables.

Dim xRg2 As Range
Dim xRgUni2 As Range
Dim xFirstAddress2 As String
Dim xStr2 en tant que chaîne

Et remplacez chaque instance de xRg par xRg2 dans le code ect. Cela a-t-il du sens?
Ce commentaire a été minimisé par le modérateur sur le site
Salut, ça a l'air du bon travail. Mais j'obtiens l'erreur de compilation : Argument non facultatif lors de la mise en surbrillance du ". Union". Que devrais-je faire?
Ce commentaire a été minimisé par le modérateur sur le site
Merci - au début, cela semblait fonctionner, mais j'ai ensuite remarqué qu'il n'incluait pas la première colonne trouvée - cela commençait par la seconde et ainsi de suite.

Ce qui s'explique : vous définissez xRg deux fois, mais vous n'incluez pas le premier.

TBH : au départ, je pensais que cela fonctionnait bien, mais cette "erreur" est apparue et j'ai dû comprendre pourquoi....

Je l'ai corrigé comme suit : (dans Excel, les commentaires deviendront verts et afficheront mes modifications : '***)



Sous FindAddressColumn()

'Mise à jourpar Extendoffcie

Dim xRg As Range

Dim xRgUni As Range

Dim xFirstAddress As String

Dim xStr As String

On Error Resume Next
xStr = "Nom"
Set xRg = Range("A1:P1").Find(xStr, , xlValues, xlPart, , , True)

Si non xRg n'est rien alors

xPremièreAdresse = xRg.Adresse

Do

Si xRgUni n'est rien alors

Set xRgUni = Range(xFirstAddress) '*** Utilisation de la première plage trouvée

autre

Définir xRgUni = Application.Union(xRgUni, xRg)

Si fin



Set xRg = Range("A1:P1").FindNext(xRg) '*** Recherche maintenant les seconds/suivants



Loop While (Not xRg Is Nothing) And (xRg.Address <> xFirstAddress)

Si fin

xRgUni.EntireColumn.Select

End Sub




Cela fonctionne maintenant pour moi, mais j'espère apprendre de vous si j'ai oublié quelque chose.
Ce commentaire a été minimisé par le modérateur sur le site
Salut, Pouvez-vous suggérer la macro pour le problème mentionné ci-dessous par Shaun
Ce commentaire a été minimisé par le modérateur sur le site
Merci spo beaucoup sauvé ma journée!
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