Excel汇总多个页卡数据到一个页卡
首先新建一个页卡放到最前面,页卡处右键,选择查看代码,选择需要汇总的页卡,输入以下代码,运行即可:
1.如果需要把全部数据都汇总到一个页卡
Sub 合并当前工作簿下的所有工作表() Application.ScreenUpdating = False For j = 4 To Sheets.Count If Sheets(j).Name <> ActiveSheet.Name Then X = Range("A65536").End(xlUp).Row + 1 Sheets(j).UsedRange.Copy Cells(X, 1) End If Next Range("B1").Select Application.ScreenUpdating = True MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示" End Sub
2.如果不需要表头,只要内容(表头位置修改Range("A4"),子页卡内容位置:Range("B5")):
Sub 合并当前工作簿下的所有工作表() Application.ScreenUpdating = False For j = 4 To Sheets.Count With Sheets(j) If .Name <> ActiveSheet.Name Then x = Range("A65536").End(xlUp).Row If Range("A4") = "" Then .UsedRange.Copy Cells(x, 1) Else _ .Range(.Range("B5"), .UsedRange.Cells(.UsedRange.Count)).Copy Cells(x + 1, 1) End If End With Next Application.ScreenUpdating = True MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示" End Sub
说明:
.UsedRange.Copy:复制第1张工作表中已使用的区域
.Cells(.Range("A65536").End(xlUp).Row, 1):粘贴目标起始单元格
.Range("A65536"):工作表A列最后一行
.End(xlUp):等同于按键 End+ 向上键,返回从A列最后一行向上,找到的第一个空白单元格。
.Row:返回该单元格的行号
附:EXCEL Range用法集 http://blog.sina.com.cn/s/blog_5a6f28090101iwmy.html