使用变量Criteria VBA的自动过滤器

问题描述 投票:1回答:1

我试图使用变量将自动过滤器放在工作表上,但它无法正常工作。

  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 & "

请指教。

excel vba autofilter
1个回答
3
投票

摆脱Criteria1参数周围的引号:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.