在对数据进行统计分析时,经常需要把多行多列数据转化为一列!
有人说,这还不简单?!比如下面的方法:
方法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
代码窗口的截图,如下:
插入一命令按钮(比如名称为“点我”),把上面的代码赋于这个按钮,这样就把既浪费时间又容易出错的事情,轻轻按下按钮就可以解决了。
评论 (0)