vba 不等于_汇总工作表小技巧【VBA、PQ】

汇总工作表:
【工具】Excel(VBA)、PQ
【工作表】前提各个表中字段名称、数量、位置相同
方式一:使用Excel(VBA)汇总工作表
例如:将表“工作表汇总”中1月、2月、3月三个表格汇总
第一步:打开表格“工作表汇总”,新建一张表格

第二步:点击开发工具--启动VBA(点击文件-选项-自定义功能区-开发工具-确认即可显示开发工具)

第三步:点击新建表右键-插入-模块,输入以下代码(蓝色部分),点击小三角或者按F5运行即可

Sub CollectData()

Dim Sht As Worksheet, rng As Range, k&, n&

Application.ScreenUpdating = False

'取消屏幕更新

n = Val(InputBox("请输入标题的行数", "提醒"))

If n < 0 Then MsgBox "标题行数不能为负数。", 64, "提示": Exit Sub

'取得用户输入的标题行数,如果为负数,退出程序

Cells.ClearContents

'清空当前表数据

For Each Sht In Worksheets

'遍历工作表

If Sht.Name <> ActiveSheet.Name Then

'如果工作表名称不等于当前表名则进行汇总动作……

Set rng = Sht.UsedRange

'定义rng为表格已用区域

k = k + 1

'累计K值

If k = 1 Then

'如果是首个表格,则K为1,则把标题行一起复制到汇总表

rng.Copy

[a1].PasteSpecial Paste:=xlPasteValues '仅粘贴数值

Else

'否则,扣除标题行后再复制黏贴到总表,只黏贴数值

rng.Offset(n).Copy

Cells(ActiveSheet.UsedRange.Rows.Count + 1, 1).PasteSpecial Paste:=xlPasteValues

End If

End If

Next

[a1].Activate

Application.ScreenUpdating = True '恢复屏幕刷新

End Sub

74f49e8c8aa4ab0d4c0b0f3ebc1ab138.png

方式二:使用PQ汇总工作表(以Excel2016版为例

第一步:新建Excel表,点击数据-获取数据-从工作簿-导入表格“工作表汇总”

01d6be36a6bb9926a23119918c14cd5f.png

第二步:选择多项-点击转换数据进入PQ编辑器

ef1f9a765b8ac6b88e97929e722d05a0.png

第三步:点击主页-追加查询-选择将查询追加为新查询

85f6a12b1f4d79bf4cf63983a07d4173.png

第四步:追加三个或更多表,双击左侧可用表即可进入右侧追加表行列后确认

19044576cdddd2a673b6a2cbf9799103.png

第四步:点击关闭并上载至,导入数据即可

dcfc435de00fde5d8b2468170934278e.png

cf3ae73f7bf1a606eedd4b22bc03cf43.png

f0455f8fb609bd6ae5ec18e8090c0f84.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值