假设我有一个excel表,每列有4列数据和20,000行数据.
获得它的最有效方法是什么,以便将所有数据合并到一列中(IE-A列80,000行数据,而不是跨4列分布的20,000行数据).
此外,如何实现该解决方案.我的意思是,如果您的解决方案不是"公式"而是VBA,我该如何实施该解决方案?
谢谢!
Dic*_*ika 17
保存您的工作簿.如果此代码不能满足您的要求,那么返回的唯一方法是关闭而不保存并重新打开.
在一列中选择要列出的数据.必须是连续的列.可能包含空白单元格.
按Alt + F11打开VBE
按Control + R查看Project Explorer
导航到工作簿的项目,然后选择"插入 - 模块"
将此代码粘贴到代码窗格中
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
Run Code Online (Sandbox Code Playgroud)
按F5运行代码
小智 10
最佳和简单的解决方案:
选择要复制到单列的列范围
复制单元格范围(多列)
打开Notepad ++
粘贴选定的单元格范围
按Ctrl + H,将\ t替换为\n,然后单击全部替换
所有多列都属于一列
现在复制相同并粘贴在excel中
对于那些不想在VBA中浪费时间编码的人来说,这是一个简单而有效的解决方案
以下是使用一些简单的Excel公式进行操作的方法,而不需要花哨的VBA.诀窍是使用OFFSET公式.请参阅此示例电子表格:
| 归档时间: |
|
| 查看次数: |
141581 次 |
| 最近记录: |