打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel 合并计算多个工作表的数据(Consolidate)
分享原因:
1、本人不会这个方法,之前基本上用字典处理
2、论坛内对此类的汇总需求不少

Option Explicit
SubConsolidateSheets()
   Dim Arr(1 To 3)  As String, i AsInteger
   Dim rng As Range
   For i = 1 To 3
      Arr(i) = Sheets(i).Name & "!"& _
          Sheets(i).Range("A1").CurrentRegion.Address(ReferenceStyle:=xlR1C1)
   Next
   Set rng = Sheets("汇总表").Range("A1")
    With rng
       .Consolidate Sources:=Arr, Function:=xlSum, _
                    TopRow:=True,LeftColumn:=True
       .Value = "业务员"’ Consolidate同时基于行列汇总,将忽略左上角的内容
   End With
   Sheets(1).Range("A1").Copy
   With rng
       .Resize(1, .CurrentRegion.Columns.Count) _
       .PasteSpecial xlPasteFormats
   End With
   Sheets(1).Range("A2").Copy
   With rng.CurrentRegion
       .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count) _
       .PasteSpecial xlPasteFormats
   End With
   Application.CutCopyMode = False
   rng.Select
   Set rng = Nothing
EndSub

以下是本人增加的解释说明:
Range.Consolidate(Sources, Function,TopRow, LeftColumn, CreateLinks)
名称
必选/可选
数据类型
描述
Sources
可选
Variant
以文本引用字符串数组的形式给出合并计算的源,该数组采用 R1C1-样式表示法。这些引用必须包含将要合并计算的工作表的完整路径。
Function
可选
Variant
XlConsolidationFunction 常量之一,用于指定合并计算的类型。
TopRow
可选
Variant
如果为  True,则基于合并计算区域中首行内的列标题对数据进行合并。如果为 False,则按位置进行合并计算。默认值为 False
LeftColumn
可选
Variant
如果为  True 则基于合并计算区域中左列内的行标题对数据进行合并计算。如果为 False,则按位置进行合并计算。默认值为 False
CreateLinks
可选
Variant
如果为  True,则让合并计算使用工作表链接。如果为 False,则让合并计算复制数据。默认值为 False
XlConsolidationFunction 参数说明
名称
描述
xlAverage
-4106
平均。
xlCount
-4112
计数。
xlCountNums
-4113
只计数数值。
xlMax
-4136
最大值。
xlMin
-4139
最小值。
xlProduct
-4149
乘。
xlStDev
-4155
基于样本的标准偏差。
xlStDevP
-4156
基于全体数据的标准偏差。
xlSum
-4157
总计。
xlUnknown
1000
未指定任何分类汇总函数。
xlVar
-4164
基于样本的方差。
xlVarP
-4165
基于全体数据的方差。
Range.Address(RowAbsolute, ColumnAbsolute,ReferenceStyle, External, RelativeTo)
名称
必选/可选
数据类型
描述
RowAbsolute
可选
Variant
如果为  True,则以绝对引用返回引用的行部分。默认值为 True
ColumnAbsolute
可选
Variant
如果为  True,则以绝对引用返回引用的列部分。默认值为 True
ReferenceStyle
可选
引用样式。默认值为  xlA1
External
可选
Variant
如果为  True,则返回外部引用。如果为  False,则返回本地引用。默认值为  False
RelativeTo
可选
Variant
如果  RowAbsoluteColumnAbsoluteFalse,并且 ReferenceStylexlR1C1,则必须包括相对引用的起始点。此参数是定义起始点的 Range 对象。
XlReferenceStyle 参数说明
名称
描述
xlA1
1
默认值。使用 xlA1 返回 A1 样式的引用。
xlR1C1
-4150
使用 xlR1C1 返回 R1C1 样式的引用。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Worksheet.Protect 方法
04Cells形式如何转换成Range形式?
Workbooks对象的Open方法的帮助说明(VBA)
Excel VBA教程:Paste方法
Excel 规划求解工具
Excel VBA之第六十一课
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服