运行 OLAP 查询后的宏
Run Macro after OLAP Query
这是我的练习册:
工作表布局:
Source
:使用 Analysis Services 连接 进行数据透视 Table
Distributors
: 与 Pivot 关联的要排序的内容
Output
:图表基于 Distributors
的排序数据 + 连接到 Pivot 的切片器
我需要做的是:在每次 OLAP 查询后启动 Sorting
宏(= 每次我使用切片器时)。
排序代码
Sub Sorting()
'This line finds the last occupied row in column A
'And you can use that LR variable in all the following Range Statements.
LR = Cells(Rows.Count, "C").End(xlUp).Row
ActiveWorkbook.Worksheets("Distributors").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Distributors").Sort.SortFields.Add Key:=Range("C4:C102" & LR) _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Distributors").Sort
.SetRange Range("A3:C102" & LR)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWorkbook.Worksheets("Distributors").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Distributors").Sort.SortFields.Add Key:=Range("D4:D102") _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Distributors").Sort
.SetRange Range("D3:F102")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
已解决。 每次数据透视更新后启动宏
- Alt+F11,右键单击源(Sheet 与数据透视表)
- 查看代码
- 插入事件触发器
事件触发器
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
'your_macro_here
End Sub
请记住,您不能输入对模块的引用。直接插入您的宏。
这是我的练习册:
工作表布局:
Source
:使用 Analysis Services 连接 进行数据透视 Table
Distributors
: 与 Pivot 关联的要排序的内容
Output
:图表基于Distributors
的排序数据 + 连接到 Pivot 的切片器
我需要做的是:在每次 OLAP 查询后启动 Sorting
宏(= 每次我使用切片器时)。
排序代码
Sub Sorting()
'This line finds the last occupied row in column A
'And you can use that LR variable in all the following Range Statements.
LR = Cells(Rows.Count, "C").End(xlUp).Row
ActiveWorkbook.Worksheets("Distributors").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Distributors").Sort.SortFields.Add Key:=Range("C4:C102" & LR) _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Distributors").Sort
.SetRange Range("A3:C102" & LR)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWorkbook.Worksheets("Distributors").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Distributors").Sort.SortFields.Add Key:=Range("D4:D102") _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Distributors").Sort
.SetRange Range("D3:F102")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
已解决。 每次数据透视更新后启动宏
- Alt+F11,右键单击源(Sheet 与数据透视表)
- 查看代码
- 插入事件触发器
事件触发器
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
'your_macro_here
End Sub
请记住,您不能输入对模块的引用。直接插入您的宏。