首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

运用Excel-vba合并工作表数据

如下图,工作簿中共有以下几个工作表,现希望将各张工作表中的数据合并在一起。

1.打开vba编辑器:右键单击任意工作表,选择“查看代码”。

2.输入代码:双击"ThisWorkbook",在代码窗口中输入以下代码:

Sub 合并当前工作簿下的所有工作表()

Dim ws As Worksheet

Dim sh As Worksheet, i%

On Error Resume Next '如遇错误继续运行

Application.ScreenUpdating = False '关闭屏幕刷新

Application.DisplayAlerts = False '禁用警告提示

Worksheets("汇总").Delete '删除原汇总表

Set ws = Worksheets.Add(before:=Sheets(1)) '新建工作表

ws.Name = "汇总" '新建工作表命名为汇总

For Each sh In Sheets: '遍历所有工作表

If sh.Name "汇总" Then '判断工作表是否为汇总表

i = ws.Range("A" & Rows.Count).End(xlUp).Row + 1 '获取汇总表中A列数据区域最后一行的行号+1

sh.UsedRange.Copy '复制分表中的数据

ws.Cells(i, 1).PasteSpecial Paste:=xlPasteAll '粘贴数据

ws.Cells(i, 1).PasteSpecial Paste:=xlPasteColumnWidths '粘贴列宽

End If

Next

Application.DisplayAlerts = True '恢复警告提示

Application.ScreenUpdating = True '开启屏幕刷新

MsgBox "工作表合并完毕"

End Sub

3.运行程序

点击绿色三角形或按F5,运行程序。

程序运行成功后,会弹出对话框,显示消息如下:

4.删除多余表头:筛选"月份",删除多余行。

5.查看结果

注:若希望代码在下次打开工作簿时可以继续使用,需将工作簿另存为97-2003工作簿或启用宏的工作簿。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191024A02UDW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券