如何使用另一个工作簿上单元格引用的自动筛选条件

在使用vba自动筛选工作簿中的列时需要帮助,但筛选条件位于另一个工作簿中的单元格引用中。 要开始,我有2个工作簿,第一个是报告模板,其中macrosinput,另一个是需要过滤的数据文件。

您可以在Autofilter VBA语句中的(closures)模板工作簿中引用参考单元格。 ExecuteExcel4Macro在这里有帮助,允许以与在公式中键入的方式相同的方式评估对另一个工作簿的引用。

例如,要在报告模板中通过控件的单元格B5自动筛选范围:

 myRange.AutoFilter 1, ExecuteExcel4Macro("'C:\myPath\myfolder\[Report.xltx]control'!R5C2") 

请注意, ExecuteExcel4Macro需要RC风格的地址,所以使用R5C2作为B5R5C3作为C5R5C4作为D5