微信公众号 【EXCEL880】 QQ群【341401932】
课程咨询 加我微信EXCEL880B 试学网址http://v.excel880.com
课程咨询 加我微信EXCEL880B 试学网址http://v.excel880.com
在对数据进行统计分析时,经常需要把多行多列数据转化为一列!
有人说,这还不简单?!比如下面的方法:
方法1:复制一列,再粘贴一列;
方法2:利用错位引用;
方法3:利用剪贴板;
方法4:利用数据透视表
上面4种方法,小编只能哈哈大笑了!!!
请看,小编的方法:
温馨提示:在转化前,先选择待转化的数据或数据区域!!
实现上述功能,所需代码如下:
Sub RangeToOneCol() Dim TheRng, TempArr Dim i As Integer, j As Integer, elemCount As Integer On Error GoTo line1 Range("a:a").ClearContents MsgBox "请先选择需要被转化的数据区域!" If Selection.Cells.Count = 1 Then Range("a1") = Selection Else TheRng = Selection elemCount = 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) Next Next Range("a1:a" & elemCount) = TempArr End If line1: End Sub
代码窗口的截图,如下:
插入一命令按钮(比如名称为“点我”),把上面的代码赋于这个按钮,这样就把既浪费时间又容易出错的事情,轻轻按下按钮就可以解决了。