How to Consolidate Data from Multiple Excel Columns All into One Column

前端 未结 6 1161
慢半拍i
慢半拍i 2020-12-09 10:40

Lets say I have an excel sheet with 4 columns of data & 20,000 rows of data in each column.

What is the most efficient way to get it so that I have all of that d

6条回答
  •  醉话见心
    2020-12-09 11:03

    Save your workbook. If this code doesn't do what you want, the only way to go back is to close without saving and reopen.

    Select the data you want to list in one column. Must be contiguous columns. May contain blank cells.

    Press Alt+F11 to open the VBE

    Press Control+R to view the Project Explorer

    Navigate to the project for your workbook and choose Insert - Module

    Paste this code in the code pane

    Sub MakeOneColumn()
    
        Dim vaCells As Variant
        Dim vOutput() As Variant
        Dim i As Long, j As Long
        Dim lRow As Long
    
        If TypeName(Selection) = "Range" Then
            If Selection.Count > 1 Then
                If Selection.Count <= Selection.Parent.Rows.Count Then
                    vaCells = Selection.Value
    
                    ReDim vOutput(1 To UBound(vaCells, 1) * UBound(vaCells, 2), 1 To 1)
    
                    For j = LBound(vaCells, 2) To UBound(vaCells, 2)
                        For i = LBound(vaCells, 1) To UBound(vaCells, 1)
                            If Len(vaCells(i, j)) > 0 Then
                                lRow = lRow + 1
                                vOutput(lRow, 1) = vaCells(i, j)
                            End If
                        Next i
                    Next j
    
                    Selection.ClearContents
                    Selection.Cells(1).Resize(lRow).Value = vOutput
                End If
            End If
        End If
    
    End Sub
    

    Press F5 to run the code

提交回复
热议问题