|
以下是我所录制的宏,目的是将一个工作表上的二个数据透视表所分析的资料范围加以改变,如果要将PivotFields("年度").CurrentPage = "2002"这句程序中的"2002"以[K1].Value来代替,将PivotFields("月份").CurrentPage = "5"的"5"以[K2].Value来代替,请问程序应如何写?
(注:K1,K2的内容是下拉式清单)
Sub Refresh()
ActiveSheet.PivotTables("数据透视表1").PivotFields("年度").CurrentPage = "2002"
‘将年度由”全部”改为2002年
ActiveSheet.PivotTables("数据透视表1").PivotFields("月份").CurrentPage = "5"
‘将月份由”全部”改为5月
ActiveSheet.PivotTables("数据透视表2").PivotFields("年度").CurrentPage = "2002"
ActiveSheet.PivotTables("数据透视表2").PivotFields("月份").CurrentPage = "5"
Range("B19").Select
ActiveSheet.PivotTables("数据透视表1").RefreshTable
Range("H19").Select
ActiveSheet.PivotTables("数据透视表2").RefreshTable
Range("B2:D2").Select
End Sub
另外还有一个问题(见图),我明明资料中只冇2002年的资料,分页选单中却显示2003的字样,录宏时(就是上面的宏),点2003却录成2002,真是奇怪!有人知道原因吗?
[upload=jpg]uploadImages/20026111122839434.jpg[/upload] |
|