我尝试记录一个宏来根据2个单元格的值过滤数据表。它只是第一次工作,因为VBA记录的是单元格值而不是单元格引用。我无法弄清楚如何更改代码以执行以下操作:
参考单元所在的工作表被称为" Cost Estimator"并且带有数据表的工作表是" 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新手,所以我知道这对任何事都没有帮助。
答案 0 :(得分:1)
至少这是一个开始。代码需要进入Cost Estimator工作表模块
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$25" Or Target.Address = "$J$10" Then
Sheets("AR_BOM").ListObjects("BOM_Table").Range.AutoFilter Field:=4, Criteria1:=Range("E25").value
Sheets("AR_BOM").ListObjects("BOM_Table").Range.AutoFilter Field:=13, Criteria1:=Range("J10").value
End If
End Sub