Transposición de VBA (paso a paso) - Los 2 métodos principales para transponer en VBA

Tabla de contenido

Hemos visto la función de transposición en la hoja de trabajo de Excel cuando pegamos cualquier tabla de datos en la hoja de trabajo, lo que hace la transposición es que cambia la posición de las filas y columnas, es decir, las filas se convierten en columnas y las columnas se convierten en filas en una tabla de datos, ahora que es una hoja de trabajo La función en VBA la usamos con el método Application.worksheet en VBA.

¿Cómo transponer en VBA?

Cambiar filas y columnas es una de las técnicas de manipulación de datos que casi todos los usuarios hacen en Excel. El proceso de conversión de datos horizontales a verticales y de datos verticales a horizontales se denomina "Transponer" en Excel. Estoy seguro de que debe estar familiarizado con la transposición en una hoja de trabajo normal. En este artículo, le mostraremos cómo utilizar el método de transposición en la codificación VBA.

Podemos transponer en VBA usando dos métodos.

  1. Transponer usando la fórmula TRANSPOSE.
  2. Transponer usando el método especial Pegar.

Cuando estamos transponiendo, estamos cambiando filas por columnas y columnas por filas. Por ejemplo, si los datos están en una matriz de 4 X 3, entonces se convierte en una matriz de 3 X 4.

Veamos algunos ejemplos para transponer columna a fila en VBA.

# 1 - Transposición de VBA usando la fórmula TRANSPOSE

Así como usamos TRANSPOSE en Excel de manera similar, también podemos usar la fórmula TRANSPOSE en VBA. No tenemos una fórmula TRANSPOSE en VBA, por lo que debemos usarla en la clase de función de hoja de trabajo.

Por ejemplo, mire la siguiente imagen de datos.

Intentaremos transponer esta matriz de valores. Siga los pasos a continuación para transponer los datos.

Paso 1: Inicie el subprocedimiento.

Código:

Sub Transpose_Example1 () End Sub

Paso 2: Primero, debemos decidir dónde vamos a transponer los datos. En esto, he optado por transponer de la celda D1 a la H2. Entonces, ingrese el código VBA como Rango ("D1: H2"). Valor =

Código:

Sub Transpose_Example1 () Rango ("D1: H2"). Valor = End Sub

Paso 3: Ahora, en el rango mencionado anteriormente, necesitamos el valor del rango A1 a B5. Para llegar a esta clase abierta "Función de hoja de trabajo" y seleccione la fórmula "Transponer".

Paso 4: En Arg 1, proporcione el rango de la fuente de datos, es decir, Rango (“A1: D5”) .

Código:

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

Ok, hemos terminado con la codificación de la fórmula TRANSPONER. Ahora ejecute el código para ver el resultado en el rango de celdas D1 a H2.

Como hemos visto en la imagen de arriba, ha convertido el rango de celdas de columnas a filas.

# 2 - Transposición de VBA usando el método especial Pegar

También podemos transponer usando el método Pegado especial. Considere también los mismos datos para este ejemplo.

Lo primero que debemos hacer para transponer es copiar los datos. Así que escribe el código como Rango ("A1: B5"). Copiar

Código:

Sub Transpose_Example2 () Rango ("A1: B5"). Copiar End Sub

Lo siguiente es decidir dónde vamos a pegar los datos. En este caso, he elegido D1 como la celda de destino deseada.

Código:

Sub Transpose_Example2 () Rango ("A1: B5"). Rango de copia ("D1"). End Sub

Una vez seleccionada la celda de destino deseada, debemos seleccionar "Pegar método especial".

Con pegar especial, podemos realizar todas las acciones que tenemos con los métodos especiales de pegar regulares en una hoja de trabajo.

Ignore todos los parámetros y seleccione el último parámetro, es decir, Transponer, y conviértalo en TRUE.

Código:

Sub Transpose_Example2 () Rango ("A1: B5"). Copiar rango ("D1"). Pegar Transposición especial: = True End Sub

Esto también transpondrá los datos como el método anterior.

Así, podemos usar la fórmula TRANSPONER o el método Pegado especial para transponer los datos para cambiar filas a columnas y columnas a filas.

Cosas para recordar

  • Si usamos la función de hoja de trabajo TRANSPONER, es obligatorio calcular una cantidad de filas y columnas para transponer los datos. Si tenemos 5 filas y 3 columnas, mientras se transpone, se convierte en 3 filas y 5 columnas.
  • Si desea el mismo formato mientras usa pegado especial, entonces debe usar el argumento Tipo de pegado como "xlPasteFormats".

Puede descargar esta plantilla de Excel VBA Transpose desde aquí - VBA Transpose Excel Template.

Articulos interesantes...