¿Cómo apilar columnas de izquierda a derecha en una sola columna en Excel?
Supongamos que hay múltiples columnas, la tarea es apilar las columnas de izquierda a derecha en una sola columna como se muestra en la siguiente captura de pantalla. Aparte de mover las columnas manualmente una por una, ¿hay algún truco para resolver esto en Excel?
Apilar columnas de izquierda a derecha en una columna con VBA
Apilar columnas de izquierda a derecha en una columna con Kutools para Excel
Apilar columnas de izquierda a derecha en una columna con VBA
En Excel, no hay ninguna función integrada que pueda manejar esta tarea, pero el código VBA puede ayudarte.
1. Presiona Alt +F11, luego en la ventana Microsoft Visual Basic for Applications, haz clic en Insertar > Módulo para crear un nuevo módulo en blanco.
2. Copia y pega el siguiente código en el Módulo.
VBA: Apilar columnas en una sola
Sub StackColumns()
'UpdatebyExtendoffice20180814
Dim xSRg, xDRg As Range
Dim xDWS As Worksheet
Dim xIntDR, xIntDC, xI As Long
Dim xFNumR, xFNumC As Long
On Error GoTo Err1
Set xSRg = Application.InputBox("Select Columns:", "Kutools for Excel", xTxt, , , , , 8)
If xSRg Is Nothing Then
Err1:
Application.ScreenUpdating = True
Exit Sub
End If
Set xDRg = Application.InputBox("Select a cell to place result:", "Kutools for Excel", xTxt, , , , , 8)
If xDRg Is Nothing Then
Exit Sub
End If
Application.ScreenUpdating = False
Set xDWS = xDRg.Worksheet
xIntDR = xDRg.Row
xIntDC = xDRg.Column
xI = 0
For xFNumC = 1 To xSRg.Columns.Count
For xFNumR = 1 To xSRg.Rows.Count
Set xDRg = xDWS.Cells(xIntDR + xI, xIntDC)
xDRg.Value = xSRg.Cells(xFNumR, xFNumC).Value
xI = xI + 1
Next xFNumR
Next xFNumC
Application.ScreenUpdating = True
End Sub
3. Presiona F5 para ejecutar el código, aparecerá un cuadro de diálogo para que selecciones las columnas que deseas apilar en una.
4. Haz clic en Aceptar, selecciona una celda para colocar el resultado.
5. Haz clic en Aceptar para finalizar. Ahora las columnas seleccionadas se han apilado en una sola columna.
Apilar columnas de izquierda a derecha en una columna con Kutools para Excel
Si tienes Kutools para Excel instalado en Excel, puedes usar la utilidad Transformar Rango para manejar esta tarea.
Después de instalar Kutools para Excel, por favor sigue los siguientes pasos:
1. Selecciona las columnas que deseas apilar, haz clic en Kutools > Rango > Transformar Rango.
2. En el Transformar Rango cuadro de diálogo, marca la casilla Rango a fila única haz clic en Aceptar.
3. En el cuadro de diálogo emergente, selecciona una celda para colocar el resultado, haz clic en Aceptar.
Ahora las columnas se han transformado en una sola fila.
4. Selecciona la fila única, presiona Ctrl + C para copiarla, y selecciona otra celda donde colocarás la columna apilada, haz clic derecho y selecciona Transponer (T) en el menú contextual.
Ahora la fila única se ha transpuesto a una columna apilada.
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!