|
楼主 |
发表于 2009-9-8 12:43
|
显示全部楼层
原帖由 同在星空下 于 2009-9-6 23:19 发表
首先恭喜你进入提高班,看了一此你发的帖,你基础扎实.进入透视表提高班会更加游刃有余.今晚看了你答提高班中测试题中关于刷新指定的透视表,你的代码我看不懂!能不能帮了解释一二,因为你幽默,善于诱导,因此特你的代码复 ... 原代码:
Sub ggsmart()
For i = 1 To 2
Sheets("测试" & i).PivotTables(1).PivotCache.Refresh
Next
End Sub
1、这个英文字母i表明什么? -------i是循环变量,循环条件是for i = 1 to 2,即循环第一次时,i=1,循环第二次时,i=2.
2、红色字体部分中的连字符不明白--------& 用来将两个字符串连接成一个字符串,即循环第一次时,为"测试1“,循环第二次时为"测试2“,sheets("测试1")表示“测试1”工作表,通过循环来表示“测试1”和“测试2”工作表。
3、为何写成("测试" & i)这个样子? ---------"测试" & i的结果就是“测试1”和“测试2”,最终还是以sheets(工作表名称)的方式来来表示工作表。
4、PivotTables这个数据透视表的英文单词,为何后面括号只跟一个阿位伯数字1,阿拉伯数字1表示什么?是指数据透视表1吗?如果是,那数据透视表2怎样写进去呢? ----------PivotTables表示数据透视表集合,PivoTables(1)表示数据透视表集合里的第一个对象,如果要表示第十个则将1改为2,这同表示工作表一样。
5、另外一个网友的代码,实在不好意思,我只是在想同一问题竟然多种方法,殊途同路,也是为了让自已能够举一反.
代码如下:
Option Explicit
Sub updating()
Dim k As Integer
For k = 1 To 2
Sheets("测试1").PivotTables("数据透视表1").PivotCache.Refresh
Sheets("测试2").PivotTables("数据透视表2").PivotCache.Refresh
Next k
End Sub
这段代码同我的代码的原理都是一样的,其实这个代码里我想,不用再使用那个For循环了吧?使用For循环的目的只是为了把刷新透视表的两句代码简化为一句,既然已经写了两句,那使用循环就多余了。 |
评分
-
1
查看全部评分
-
|