Taula de continguts
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ó.
|
Capçalera | Opcional | XlYesNoGuess | Especifica si la primera fila conté capçaleres o no .
|
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.