excel中怎么用vba使多个sheet的内容首尾连接成一个sheet.

来源:百度知道 编辑:UC知道 时间:2024/05/31 14:53:58
由于公司有很多个excel表, 一个一个打开很浪费时间, 是否能用vba编一个程
将所有表中的内容连接成一个表,以便查阅方便.

下面是表2连接到表1下面的一个VBA。假定两个表都是5列
Dim i, num1, num2
num1 = Sheets("sheet1").Cells(65536, 1).End(xlUp).Row '计算A列最后一行数据的位置
num2 = Sheets("sheet2").Cells(65536, 1).End(xlUp).Row '计算A列最后一行数据的位置
For i = 1 To num2
For j = 1 To 5
Sheets("sheet1").Cells(num1 + i, j) = Sheets("sheet2").Cells(i, j)
Next j
Next i

Public Sub x()
'把各个表的内容复制到第一个表
For i = 2 To Sheets.Count
Sheets(i).Activate
r = Cells.SpecialCells(xlCellTypeLastCell).Row
Rows("1:" & r).EntireRow.Select
Selection.Copy
Sheets(1).Activate
r2 = Cells.SpecialCells(xlCellTypeLastCell).Row
Cells(r2 + 1, 1).Select
ActiveSheet.Paste
Next

End Sub