【发布时间】:2018-11-17 15:37:39
【问题描述】:
我尝试录制一个宏来根据 2 个单元格的值过滤数据表。它只在第一次工作,因为 VBA 记录的是单元格值而不是单元格引用。我无法弄清楚如何更改代码以执行以下操作:
- 当单元格值改变时改变过滤器选择
- 在不导航到包含数据表的工作表的情况下更改过滤器选择。
引用单元格所在的工作表称为“成本估算器”,带有数据表的工作表是“AR_BOM”
表名是“BOM_Table”
这是记录的代码:
Sub Filter_AR_BOM()
'
' Filter_AR_BOM Macro
'
'
Range("E25").Select
Selection.Copy
Sheets("AR_BOM").Select
ActiveSheet.ListObjects("BOM_Table").Range.AutoFilter Field:=4, Criteria1:= _
"Line 11"
Sheets("Cost Estimator").Select
Range("J10").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("AR_BOM").Select
ActiveSheet.ListObjects("BOM_Table").Range.AutoFilter Field:=13, Criteria1 _
:="12197118"
Sheets("Cost Estimator").Select
End Sub
非常感谢任何帮助。近 2 天以来,我一直在论坛上尝试不同的东西,但似乎没有取得任何进展。我是一个极端的宏/vba 新手,所以我知道这没有任何帮助。
【问题讨论】:
-
那么当两个单元格中的任何一个被更改时,您想重新运行过滤器吗?哪两个细胞? E25 和 J10?
-
是的,当 2 个单元格(e25 和 J10)中的任何一个发生更改时,它将更新过滤器。