根据定义的变量设置数据透视过滤器
Set Pivot Filter based on defined variable
我有一个曾经在 Excel 2007 中工作的宏,但在最近升级到 Excel 2013 后停止工作。
该宏根据从单元格值读取的定义变量设置数据透视过滤器。旧代码如下:
Sub test()
Dim PremState As String
PremState = Sheets("FormData").Range("PremSt").Value
Sheets("DataPivot").Activate
ActiveSheet.PivotTables("PivotTable1").ClearAllFilters
ActiveSheet.PivotTables("PivotTable1").PivotFields("PremSt_A").CurrentPage = PremState
End Sub
我在 Excel 2013 年录制了一个具有相同功能的新宏。我得到以下代码示例:
ActiveSheet.PivotTables("PivotTable1").PivotFields( _
"[Range].[PremSt_A].[PremSt_A]").CurrentPageName = "[Range].[PremSt_A].&[CA]"
这适用于手动选择的状态(在本例中为 CA),但我无法使其与预定义的 PremState 变量一起使用。
如何在新代码中包含对已定义变量的引用?
像这样尝试...
Sub test()
Dim PremState As String
PremState = Sheets("FormData").Range("PremSt").Value
Sheets("DataPivot").Activate
ActiveSheet.PivotTables("PivotTable1").ClearAllFilters
ActiveSheet.PivotTables("PivotTable1").PivotFields( _
"[Range].[PremSt_A].[PremSt_A]").CurrentPageName = _
"[Range].[PremSt_A].&[" & PremState & "]"
End Sub
我有一个曾经在 Excel 2007 中工作的宏,但在最近升级到 Excel 2013 后停止工作。 该宏根据从单元格值读取的定义变量设置数据透视过滤器。旧代码如下:
Sub test()
Dim PremState As String
PremState = Sheets("FormData").Range("PremSt").Value
Sheets("DataPivot").Activate
ActiveSheet.PivotTables("PivotTable1").ClearAllFilters
ActiveSheet.PivotTables("PivotTable1").PivotFields("PremSt_A").CurrentPage = PremState
End Sub
我在 Excel 2013 年录制了一个具有相同功能的新宏。我得到以下代码示例:
ActiveSheet.PivotTables("PivotTable1").PivotFields( _
"[Range].[PremSt_A].[PremSt_A]").CurrentPageName = "[Range].[PremSt_A].&[CA]"
这适用于手动选择的状态(在本例中为 CA),但我无法使其与预定义的 PremState 变量一起使用。
如何在新代码中包含对已定义变量的引用?
像这样尝试...
Sub test()
Dim PremState As String
PremState = Sheets("FormData").Range("PremSt").Value
Sheets("DataPivot").Activate
ActiveSheet.PivotTables("PivotTable1").ClearAllFilters
ActiveSheet.PivotTables("PivotTable1").PivotFields( _
"[Range].[PremSt_A].[PremSt_A]").CurrentPageName = _
"[Range].[PremSt_A].&[" & PremState & "]"
End Sub