Truco Excel. Pasar un rango de varias columnas a una
Macro de Excel que nos permite pasar de varias columnas a una sola. De momento no es una función, es un código que sorprende por su sencillez:
Sub rango_columnas()
Dim rango As Variant
Dim i As Long, j As Long, k As Long
Dim col As Long
rango = Selection.Value
'Esta es la parte que permite ubicar la salida
col = Selection.Column
k = Selection.Row
'Esto recorre el rango y realiza la trasposición
For i = 1 To UBound(rango, 1)
For j = 1 To UBound(rango, 2)
Cells(k, col + UBound(rango, 2)).Value = rango(i, j)
k = k + 1
Next
Next
End Sub
Este código lo ponéis tal cual en vuestro Excel y os ilustro a continuación sobre su funcionamiento. Lo primero es seleccionar el rango de columnas que deseamos transponer:
Ahora sólo ejecutamos la macro rango_columnas:
Y aparece justo al lado del rango que deseamos transponer a una sola columna:
En este caso el resultado lo obtenemos en la columna F. Jugando con los índices i y j de nuestra macro podremos modificar la forma de la transposición. Me parece una macro útil y por eso lo comparto con vosotros. Saludos.