Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3045|回复: 6

[求助]透视多重合并计算数据区用vba变量来咋写?

[复制链接]
发表于 2008-10-31 00:20 | 显示全部楼层 |阅读模式

    ActiveWorkbook.PivotCaches.Add(SourceType:=xlConsolidation, SourceData:= _
    Array(Array("Sheet1!R7:R83", "项1"), Array("Sheet1!R89:R165", "项2"), Array( _
        "Sheet1!R171:R247", "项3"), ...(太长了中间省略若干)...))).CreatePivotTable TableDestination:="", TableName:="数据透视表5", DefaultVersion:= xlPivotTableVersion10
    ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
    ActiveSheet.Cells(3, 1).Select
    ActiveSheet.PivotTables("数据透视表5").DataPivotField.PivotItems("计数项:值").Position = 1
在以上录制的"多重合并计算数据区域"宏里面
    Array(Array("Sheet1!R7:R83", "项1"), Array("Sheet1!R89:R165", "项2"), Array( _
    "Sheet1!R171:R247", "项3"), ...(太长了中间省略若干)...)))有多个每隔6行有个76行的数据区。现想精减为用vba变量来换掉以上冗长的语句。且运行到自行判断到最后有数据的76行数据区为止。

有劳大家帮忙,谢了!

发表于 2008-10-31 15:02 | 显示全部楼层

试试先将各个区域赋值给数组Arr,然后用Arr(1)、Arr(2)...来代替"Sheet1!R7:R83"。
回复

使用道具 举报

 楼主| 发表于 2008-10-31 15:16 | 显示全部楼层

QUOTE:
以下是引用蓝桥玄霜在2008-10-31 15:02:00的发言:
试试先将各个区域赋值给数组Arr,然后用Arr(1)、Arr(2)...来代替"Sheet1!R7:R83"。

谢版主。

"先将各个区域赋值给数组Arr"

我理解为还是要一个一个的数值区来赋值,变量瓶颈还在。

 

回复

使用道具 举报

发表于 2008-11-1 14:32 | 显示全部楼层

如果区域多,可用循环来解决。

没有附件不能测试。

回复

使用道具 举报

 楼主| 发表于 2008-11-1 15:23 | 显示全部楼层

gGElxQGX.rar (32.92 KB, 下载次数: 4)

回复

使用道具 举报

发表于 2008-11-2 15:33 | 显示全部楼层

回复:(akk)[求助]透视多重合并计算数据区用vba变量...

mAt2TAvZ.rar (43.78 KB, 下载次数: 32)
回复

使用道具 举报

 楼主| 发表于 2008-11-7 16:54 | 显示全部楼层

谢谢蓝板!没想到会这么复杂,学习再学习

[em01]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-30 09:15 , Processed in 0.347087 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表