VBA per ordenar la columna a Excel (4 mètodes)

  • Comparteix Això
Hugh West

Per ordenar a Excel amb VBA , heu d'aplicar el mètode Range.Sort . En aquest article, us mostrarem com ordenar la columna a Excel amb el mètode Range.Sort de VBA .

Descarregueu el quadern de treball

Podeu baixar el quadern de treball d'Excel de pràctica gratuïta des d'aquí.

Ordena la columna amb VBA.xlsm

Mètode Range.Sort a Excel VBA

El mètode Range.Sort a VBA ordena un interval de valors a Excel. Aquí Range és una variable d'objecte que especifica l'interval de cel·les que volem ordenar en ordre ascendent o descendent.

A continuació es mostren els paràmetres que necessiteu saber sobre mentre es treballa amb aquest mètode.

Paràmetre Obligatori/Opcional Tipus de dades Descripció
Clau Opcional Variant Especifica l'interval o la columna els valors de la qual s'han d'ordenar.
Ordre Opcional XlOrdenar Especifica l'ordre en què es realitzarà l'ordenació.
  • xlAscending = Ordenar en ordre ascendent.
  • xlDescending = Ordenar en ordre descendent.
Capçalera Opcional XlYesNoGuess Especifica si la primera fila conté capçaleres o no .
  • xlNo = Quan la columna no té cap capçalera; Valor per defecte.
  • xlYes = Quanles columnes tenen capçaleres.
  • xlGuess = Per permetre a Excel determinar les capçaleres.

4 Mètodes per implementar VBA per ordenar columnes a Excel

En aquesta secció, sabreu com ordenar una sola columna amb i sense capçalera , diverses columnes amb i sense capçaleres i com ordenar només fent doble clic a la capçalera d'una columna a Excel.

1. Incrustar VBA per ordenar una sola columna sense capçalera a Excel

Si voleu ordenar una sola columna al vostre full de treball d'Excel amb el codi VBA , seguiu el passos a continuació.

Aquesta és la nostra columna que ordenarem amb el codi VBA .

Passos:

  • Premeu Alt + F11 al teclat o aneu a la pestanya Desenvolupador -> Visual Basic per obrir Visual Basic Editor .

  • A la finestra de codi emergent, des de la barra de menú , feu clic a Insereix -> Mòdul .

  • Copieu el codi següent i enganxeu-lo a la finestra del codi.
7447

El vostre codi ara està llest per executar-se.

Aquí,

  • Key1:=Range(“B5”) → Especificat B5 perquè el codi sàpiga quina columna ordenar.
  • Ordre1:=xlAscending → S'ha especificat l'ordre com a xlAscending per ordenar la columna en ordre ascendent. Si voleu ordenar la columna en ordre descendent, escriviu xlDescending .
  • Header:= xlNo →Com que la nostra columna no té cap capçalera, l'hem especificat amb l'opció xlNo .

  • Premeu F5 al teclat o a la barra de menú, seleccioneu Executar -> Executeu Sub/UserForm . També podeu fer clic a la icona de reproducció petita de la barra del submenú per executar la macro.

Veureu que el vostre La columna ara està ordenada en ordre ascendent .

Tingueu en compte que aquí hem definit manualment l'interval de dades com a Range ("B5:B15" ) .

Si voleu canviar les dades afegint o suprimint valors, podeu implementar el codi següent que s'actualitza automàticament en funció de les cel·les del conjunt de dades.

5345

Tingueu en compte que, en canvi, de definir l'interval manualment per Range(“B5:B15”) , hem escrit, Range( “B5”, Interval (“B5”). Final(xlAvall)) .

Això ordenarà la columna en funció de l'última cel·la completada consecutivament. Si hi ha cel·les en blanc, les dades només es consideraran fins a la primera cel·la en blanc.

Llegir més: VBA per ordenar la taula a Excel (4 mètodes)

2. Insereix una macro VBA per ordenar una sola columna amb capçalera

A la secció anterior, teníem un conjunt de dades d'una sola columna sense capçalera, però ara tenim a columna amb una capçalera .

Aquesta vegada aprendrem a ordenar-la amb macro VBA .

Passos:

  • De la mateixa manera que abans, obriu Editor de Visual Basic des de la pestanya Desenvolupador i Inseriu un mòdul a la finestra del codi.
  • A la finestra del codi, copieu el codi següent i enganxeu-lo.
7646

El vostre codi ja està a punt per executar-se.

Aquí,

  • Key1:=Range(“ B5”) → S'ha especificat B5 perquè el codi sàpiga quina columna ordenar.
  • Order1:=xlDescending → Aquesta vegada ordenarem la columna en ordre descendent així que s'ha especificat l'ordre com a xlDescending .
  • Header:= xlYes → Com que la nostra columna té una capçalera aquesta vegada, així que l'hem especificat amb el xlYes opció.

  • Executeu aquest codi i obtindreu la columna amb la capçalera ordenada en ordre descendent .

Llegir més: Com ordenar ListBox amb VBA a Excel (una guia completa)

Lectures similars:

  • Com ordenar l'adreça IP a Excel (6 mètodes)
  • [Resolt!] L'ordenació d'Excel no funciona (2 solucions)
  • Com afegir un botó d'ordenació a Excel (7 mètodes)
  • Ordenar rang e Ús de VBA a Excel (6 exemples)
  • Com ordenar per nom a Excel (3 exemples)

3. Macro VBA per ordenar diverses columnes amb o sense capçalera

També podeu ordenar diverses columnes del vostre conjunt de dades amb codi VBA.

Passos:

  • Com es mostra anteriorment, obriu Visual Basic Editor des de la pestanya Desenvolupador i Insereix a Mòdul a la finestra del codi.
  • A la finestra del codi, copieu el codi següent i enganxeu-lo.
6686

El vostre codi ja està a punt per executar-se.

Aquí,

.SortFields.Add Key:=Range ("B4"), Order:=xlAscending

.SortFields.Add Key:=Range ("C4") ”), Order:=xlAscending

Amb aquestes dues línies, estem definint Cel·la B4 i C4 per ordenar les dues columnes associades amb ells en ordre ascendent .

Com que tenim capçaleres al nostre conjunt de dades, hem especificat Header = xlYes , en cas contrari hauríem escrit Header = xlNo dins del codi.

  • Executeu aquest codi i obtindreu les columnes amb la capçalera ordenada en ordre ascendent .

4. Macro per ordenar les dades fent doble clic a la capçalera a Excel

Si voleu ordenar les dades amb facilitat només amb feu doble clic a la capçalera , podeu fer-ho amb Codi VBA.

Pasos:

  • Feu clic amb el botó dret a la pestanya del full .
  • A la llista d'opcions que apareix, feu clic a Visualitza el codi .
  • Apareixerà la finestra del codi, copieu el codi següent i enganxeu-lo allà.
5178
  • Desa el codi.

  • Ara torneu al full de treball d'interès i si feu doble clic a les capçaleres veureu que les columnes s'estan reorganitzant.

Llegiu més: Com ordenar i filtrar dades a Excel (una directriu completa)

Coses per recordar

  • Podeu crear un interval amb nom i utilitzar-lo en el seu lloc quan passeu un interval de referències de cel·les dins del Mètode d'ordenació . Per exemple, si voleu ordenar l'interval A1:A10 , en comptes de passar-lo cada cop dins del codi, podeu crear-ne un interval amb nom, com ara " SortRange ” i utilitzeu-lo amb el mètode Range.Sort com Range(“SortRange”) .
  • Si no esteu segur de si el vostre conjunt de dades té capçaleres o no, podeu deixar que el sistema ho determini mitjançant el paràmetre xlGuess .

Conclusió

Aquest article us va mostrar com ordena la columna a l'Excel VBA . Espero que aquest article us hagi estat molt profitós. No dubteu a preguntar si teniu cap pregunta sobre el tema.

Hugh West és un entrenador i analista d'Excel molt experimentat amb més de 10 anys d'experiència en el sector. És llicenciat en Comptabilitat i Finances i Màster en Administració i Direcció d'Empreses. Hugh té una passió per l'ensenyament i ha desenvolupat un enfocament pedagògic únic que és fàcil de seguir i entendre. El seu coneixement expert d'Excel ha ajudat a milers d'estudiants i professionals de tot el món a millorar les seves habilitats i a destacar en les seves carreres. A través del seu bloc, Hugh comparteix els seus coneixements amb el món, oferint tutorials d'Excel gratuïts i formació en línia per ajudar les persones i les empreses a assolir tot el seu potencial.