How to stack columns from left to right into one column in Excel?
Supposing there are multiple columns, the job is to stack the columns from left to right into one single column as below screenshot shown. Except manually move the columns one by one, are there any tricks on solving this in Excel?
Stack columns from left to right to one column with VBA
Stack columns from left to right to one column with Kutools for Excel
Stack columns from left to right to one column with VBA
In Excel, there is no built-in function can handle this job, but, the VBA code can help you.
1. Press Alt +F11 keys, then in the Microsoft Visual Basic for Applications window, click Insert > Module to create a new blank module.
2. Copy and paste below code to the Module.
VBA: Stack columns into one
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. Press F5 key to run the code, a dialog pops out for you to select the columns you will stack into one.
4. Click OK, select a cell to place the result.
5. Click OK to finish. Now the selected columns have been stacked into one column.
Stack columns from left to right to one column with Kutools for Excel
If you have Kutools for Excel installed in Excel, you can use the Transform Range utility to handle this job.
Kutools for Excel, with more than 300 handy functions, makes your jobs more easier. |
After installing Kutools for Excel, please do as below:(Free Download Kutools for Excel Now!)
1. Select the columns you want to stack, click Kutools > Range > Transform Range.
2. In the Transform Range dialog, check Range to single row checkbox, click Ok.
3. In the popping dialog, select a cell to place the result, click OK.
Now the columns have been transformed to a single row.
4. Select the single row, press Ctrl + C to copy it, and select another cell which will place the stack column, right click to select Transpose(T) in the context menu.
Now the single row has been transposed to a stack column.
Transpose range
Best Office Productivity Tools
Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time. Click Here to Get The Feature You Need The Most...
Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier
- Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
- Open and create multiple documents in new tabs of the same window, rather than in new windows.
- Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
