使用可变Criteria VBA的自动filter

我正在尝试使用variables在工作表上放置一个自动filter,但它不工作。

Dim Criteria As Object i = 1 Set Criteria = ActiveSheet.Cells(i, 1) MsgBox (Criteria.Value) ' this returns BC01.03 

但是,当我尝试过滤“Criteria.Value”没有返回任何东西。

 Selection.AutoFilter ActiveSheet.Range("$A$1:$BM$204").AutoFilter Field:=2, Criteria1:=" & Criteria.Value & " 

请指教。

摆脱Criteria1参数周围的引号:

ActiveSheet.Range(“$ A $ 1:$ BM $ 204”)。AutoFilter Field:= 2,Criteria1:= Criteria.Value

另外,只是一个问题,为什么你会使用Range对象的后期绑定? 我使用后期绑定的对象,这将需要另一个库/引用,但由于Range是Excel对象库的一部分,我会使用早期绑定。 我会Dim Criteria as Range但这只是我的偏好。