要解决本例中的问题,可以将过程改写为:
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
上一篇:excel数据分析:用IF语句为单元格中的成绩评定等次 下一篇:excel表格制作教程:通过GetOpenFilename方法获得文件名
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。