¿Cómo apilar columnas de izquierda a derecha en una columna en Excel?
Suponiendo que hay varias columnas, el trabajo es apilar las columnas de izquierda a derecha en una sola columna como se muestra a continuación. Excepto que mueva manualmente las columnas una por una, ¿hay algún truco para resolver esto en Excel?
Apilar columnas de izquierda a derecha en una columna con VBA
Apila 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 una función incorporada que pueda manejar este trabajo, pero el código VBA puede ayudarlo.
1. Prensa Alt + F11 llaves, luego en el Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Módulo para crear un nuevo módulo en blanco.
2. Copie y pegue el código siguiente en el Módulo.
VBA: apila columnas en una
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. Prensa F5 para ejecutar el código, aparece un cuadro de diálogo para que seleccione las columnas que apilará en una.
4. Hacer clic en OK, seleccione una celda para colocar el resultado.
5. Hacer clic en OK para terminar. Ahora las columnas seleccionadas se han apilado en una sola columna.
Apila columnas de izquierda a derecha en una columna con Kutools para Excel
Si tiene Kutools for Excel instalado en Excel, puede utilizar el Transform Range utilidad para manejar este trabajo.
Kutools for Excel, con más de 300 funciones prácticas, facilita su trabajo. |
Después de instalar Kutools para Excel, haga lo siguiente:(¡Descarga gratis Kutools para Excel ahora!)
1. Seleccione las columnas que desea apilar, haga clic en Kutools > Gama de Colores > Transform Range.
2. En el Transform Range diálogo, comprobar Range to single row casilla de verificación, haga clic en Ok.
3. En el cuadro de diálogo emergente, seleccione una celda para colocar el resultado, haga clic en OK.
Ahora las columnas se han transformado en una sola fila.
4. Seleccione la fila única, presione Ctrl + C para copiarlo, y seleccione otra celda que colocará la columna de la pila, haga clic derecho para seleccionar Transpose(T) en el menú contextual.
Ahora la fila única se ha transpuesto a una columna de pila.
Rango de transposición
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!