Excel Home
全球知名的Excel资源网站之一

用VBA合并多表数据时,合并区域列数不定怎么办

本文为《别怕,Excel VBA其实很简单(第3版)》随书问题参考答案

要解决本例中的问题,可以将过程改写为:

Sub 合并多表数据()
Dim EndRow As Long, DataArr As Variant, ToRng As Range
Dim ToSht As Worksheet, Sht As Worksheet
Set ToSht = Worksheets("汇总结果") '变量ToSht是保存汇总结果的工作表
ToSht.Rows("2:1048576").Clear '清除表中原有数据
Dim EndCol As Long '保存合并区域的最后一列列号
For Each Sht In Worksheets
If Sht.Name <> ToSht.Name Then '排除保存汇总结果的工作表
EndRow = Sht.Range("A1048576").End(xlUp).Row
EndCol = Sht.UsedRange.Columns.Count '最后一列列号
DataArr = Sht.Range(Sht.Cells(2, "A"), Sht.Cells(EndRow, EndRow)).Value
Set ToRng = ToSht.Range("A1048576").End(xlUp).Offset(1, 0)
ToRng.Resize(UBound(DataArr, 1), EndCol) = DataArr
End If
Next Sht
End Sub

赞(11)
未经允许不得转载:ExcelHome » 用VBA合并多表数据时,合并区域列数不定怎么办
分享到

关于我们联系我们
本站特聘法律顾问:李志群律师   沪ICP备11019229号-2

沪公网安备 31011702000001号

征信