四时宝库

程序员的知识宝库

Excel VBA办公应用之---多行多列数据快速转化为一列

头条号名称

在我们对数据进行统计分析的时候,需要把多行多列的原始数据快速转化为一列数据。

如果我们选用复制一列粘贴一列,再复制一列再粘贴一列的老方法会很浪费时间,而且又不能确保其操作的正确性,尤其是在数据区域特别大的时候会容易出错。

那么,上述问题的解决,我们就可以用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

'我们可以插入一个命令按钮,把上面的代码赋于这个按钮,这样,我们就可以把既浪费时间又容易出错的事情,轻轻按下按钮就可以解决了。

如果读者喜欢这篇文章,请点赞。

有好的建议或意见,请提出,我们一起改进,一起进步!

谢谢大家的宝贵时间。

提前祝福大家:新年快乐!大吉大利!!

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接