利用VBA将多行多列区域转为一列

网友投稿 1293 2025-03-31

利用VBA将多行多列区域转为一列


有时需要在Excel中将某个多行多列的区域转换到一列中,下面的VBA代码可以实现这个目的。

1.按快捷键Alt+F11,打开VBA编辑器,在右侧代码窗口中粘贴下列代码:

Sub RangeToOneCol()Dim TheRng, TempArrDim i As Integer, j As Integer, elemCount As IntegerOn Error GoTo line1Range("a:a").ClearContentsIf Selection.Cells.Count = 1 ThenRange("a1") = SelectionElseTheRng = SelectionelemCount = UBound(TheRng, 1) * UBound(TheRng, 2)ReDim TempArr(1 To elemCount, 1 To 1)For i = 1 To UBound(TheRng, 1)For j = 1 To UBound(TheRng, 2)TempArr((i – 1) * UBound(TheRng, 2) + j, 1) = TheRng(i, j)NextNextRange("a1:a" & elemCount) = TempArrEnd Ifline1:End Sub

上述代码可以将所选择的区域转换到A列中。

利用VBA将多行多列区域转为一列

2.关闭VBA编辑器,返回Excel工作表界面。

3.如果A列包含数据,先在工作表的最左侧插入一列,以便放置转换后的数据

4.选择需要转换的区域,按Alt+F8,打开“宏”对话框,选择上述代码中的宏名“RangeToOneCol”运行代码。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:为什么要优化仓库?
下一篇:cartographer调参总结
相关文章