Transposició VBA (pas a pas) | 2 mètodes principals per transposar a VBA

Hem vist la funció de transposició al full de treball Excel quan enganxem qualsevol taula de dades al full de treball, el que fa la transposició és que canvia la posició de les files i les columnes, és a dir, les files es converteixen en columnes i les columnes es converteixen en files en una taula de dades, ara ja que és un full de treball funció a VBA l’utilitzem amb el mètode Application.worksheet a VBA.

Com transposar a VBA?

El canvi de files i columnes és una de les tècniques de manipulació de dades que fan gairebé tots els usuaris a Excel. El procés de conversió de dades horitzontals a dades verticals i verticals a horitzontals s’anomena “Transposar” a Excel. Estic segur que heu de familiaritzar-vos amb la transposició en un full de treball normal; en aquest article us mostrarem com utilitzar el mètode de transposició a la codificació VBA.

Podem transposar en VBA mitjançant dos mètodes.

  1. Transposar utilitzant la fórmula TRANSPOSE.
  2. Transposar amb mètode especial d'enganxar.

Quan estem transposant, canviem files per columnes i columnes per files. Per exemple, si les dades es troben en una matriu 4 X 3, es convertiran en una matriu 3 X 4.

Vegem alguns exemples per transposar columna a fila a VBA.

# 1 - Transposició VBA mitjançant la fórmula TRANSPOSE

Igual que com fem servir TRANSPOSE a excel, també podem utilitzar la fórmula TRANSPOSE a VBA. No tenim una fórmula TRANSPOSE a VBA, per tant, hem d’utilitzar-la a la classe Function Sheet Function.

Per obtenir un exemple, mireu la imatge de dades següent.

Intentarem transposar aquesta matriu de valors. Seguiu els passos següents per transposar les dades.

Pas 1: Inicieu el subprocés

Codi:

 Sub Transposar_Exemple1 () Finalitzar Sub 

Pas 2: Primer, hem de decidir on transposarem les dades. En això, he optat per transposar de la cèl·lula D1 a H2. Per tant, introduïu el codi VBA com Interval ("D1: H2"). Valor =

Codi:

 Sub Transposar_Exemple1 () Interval ("D1: H2"). Valor = Finalitzar Sub 

Pas 3: Ara, a l'interval esmentat anteriorment, necessitem el valor de l'interval A1 a B5. Per arribar a aquesta classe oberta de "Funció del full de treball" i seleccionar la fórmula "Transposar".

Pas 4: En Arg 1 subministrar l'interval de fonts de dades, és a dir, Rang ("A1: D5").

Codi:

 Sub Transpose_Example1 () Range ("D1: H2"). Value = WorksheetFunction.Transpose (Range ("A1: D5")) End Sub 

D’acord, ja hem acabat amb la codificació de fórmules TRANSPOSE. Ara executeu el codi per veure el resultat en el rang de cel·les D1 a H2.

Com hem vist la imatge anterior, ha convertit l'interval de cel·les de columnes a files.

# 2 - Transposició VBA mitjançant el mètode especial d'enganxa

També podem transposar mitjançant el mètode Enganxa especial. Considereu les mateixes dades per a aquest exemple també.

El primer que hem de fer per transposar és copiar les dades. Així que escriviu el codi com Rang ("A1: B5"). Copia

Codi:

 Sub Transpose_Example2 () Range ("A1: B5"). Copia final Sub 

El següent és que hem de decidir on anem a enganxar les dades. En aquest cas, he triat D1 com a cel·la de destinació desitjada.

Codi:

 Sub Transpose_Example2 () Range ("A1: B5"). Copieu l'interval ("D1"). Finalitzar sub 

Un cop seleccionada la cel·la de destinació desitjada, hem de seleccionar "Enganxa mètode especial".

Amb enganxar especial, podem realitzar totes les accions que fem amb mètodes especials d’enganxar regularment en un full de càlcul.

Ignoreu tots els paràmetres i seleccioneu l’últim paràmetre, és a dir, Transposa i converteix-lo en CERT.

Codi:

 Sub Transpose_Example2 () Range ("A1: B5"). Copy Range ("D1"). PasteSpecial Transpose: = True End Sub 

Això també transposarà les dades com el mètode anterior.

Així, podem utilitzar la fórmula TRANSPOSE o el mètode Enganxa especial per transposar les dades per canviar files a columnes i columnes a files.

Coses que cal recordar

  • Si utilitzem la funció de full de càlcul TRANSPOSE, és obligatori calcular un nombre de files i columnes per transposar les dades. Si tenim 5 files i 3 columnes, en transposar-les es converteixen en 3 files i 5 columnes.
  • Si voleu el mateix format mentre utilitzeu enganxa especial, haureu d'utilitzar l'argument Enganxa tipus com a "xlPasteFormats"

Podeu descarregar aquesta plantilla VBA Transpose Excel des d’aquí: plantilla VBA Transpose Excel