头条号名称
在我们对数据进行统计分析的时候,需要把多行多列的原始数据快速转化为一列数据。
如果我们选用复制一列粘贴一列,再复制一列再粘贴一列的老方法会很浪费时间,而且又不能确保其操作的正确性,尤其是在数据区域特别大的时候会容易出错。
那么,上述问题的解决,我们就可以用Excel VBA实现这一功能。代码如下:
'在转化之前,请先选择需要被转化的数据区域
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
'我们可以插入一个命令按钮,把上面的代码赋于这个按钮,这样,我们就可以把既浪费时间又容易出错的事情,轻轻按下按钮就可以解决了。
如果读者喜欢这篇文章,请点赞。
有好的建议或意见,请提出,我们一起改进,一起进步!
谢谢大家的宝贵时间。
提前祝福大家:新年快乐!大吉大利!!