我有一行 VBA 代码,可以创建一个具有一个条件的过滤器,效果很好:
FilterEdit Name:="temp", TaskFilter:=True, Create:=True, OverwriteExisting:=True, FieldName:="Resource Names", Test:="contains", Value:='Electician', ShowInMenu:=False, ShowSummaryTasks:=False
等效的弹出窗口是:
针对一种条件过滤定义弹出窗口
但是我想过滤包含该字符串且大纲级别大于 2 的行。
此过滤器弹出窗口是:
两种条件的过滤器定义弹出窗口
如果我只需要一次,过滤器弹出窗口会很好地工作,但是我使用的条件会动态变化,因此我需要使用 VBA 定义它。
FilterEdit 的 Microsoft 文档提到了操作参数,但没有如何使用它的示例。
我尝试将函数中的多个参数串在一起,但没有成功:
FilterEdit Name:="temp", TaskFilter:=True, Create:=True, OverwriteExisting:=True, FieldName:="Resource Names", Test:="contains", Value:='Electician', Operation:="And", FieldName:="Outline Level", Test:="is less than or equal to", Value:=2, ShowInMenu:=False, ShowSummaryTasks:=False
FilterEdit 方法,如下所示:
Sub MakeFilter()
FilterEdit Name:="temp", TaskFilter:=True, Create:=True, OverwriteExisting:=True _
, FieldName:="Resource Names", Test:="contains", Value:="Electrician" _
, ShowInMenu:=False, ShowSummaryTasks:=False
FilterEdit Name:="temp", TaskFilter:=True, FieldName:="", NewFieldName:="Outline Level" _
, Test:="is less than or equal to", Value:="2", Operation:="And"
End Sub
请注意,Value 始终是一个字符串,如果需要默认值,则并不总是需要包含可选参数(请参阅上面链接中的文档)。