Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA。通过函数传递的Excel筛选条件值_Vba_Excel - Fatal编程技术网

VBA。通过函数传递的Excel筛选条件值

VBA。通过函数传递的Excel筛选条件值,vba,excel,Vba,Excel,我正在使用VBA编写的自定义子程序执行筛选(和复制)选项。子例程获取要筛选的类别,作为参数“catName”。 我尝试将其设置为标准,使用多种组合,但筛选没有发生 试试1 试试2 试试3 所有这些都失败了 然而,如果我只是在代码中硬编码一个类别名称,它工作得很好 copyRange.AutoFilter 9, Criteria1:="B" 如何使用传递到函数中的值作为条件?提前感谢。您需要通过有点像公式的标准。试试这个: copyRange.AutoFilter 9, Criteria1:="

我正在使用VBA编写的自定义子程序执行筛选(和复制)选项。子例程获取要筛选的类别,作为参数“catName”。 我尝试将其设置为标准,使用多种组合,但筛选没有发生

试试1

试试2

试试3

所有这些都失败了

然而,如果我只是在代码中硬编码一个类别名称,它工作得很好

copyRange.AutoFilter 9, Criteria1:="B"

如何使用传递到函数中的值作为条件?提前感谢。

您需要通过有点像公式的标准。试试这个:

copyRange.AutoFilter 9, Criteria1:="=" & catName

等式标记在这里很重要

您需要通过有点像公式的标准。试试这个:

copyRange.AutoFilter 9, Criteria1:="=" & catName
等式标记在这里很重要

试试这个:

Dim catName As String
catName = "B"
copyRange.AutoFilter 9, Criteria1:=catName
您没有正确引用某个位置,或者没有正确定义
catName
。例如,检查如何完成,按“3”在第1列上过滤:

使用此代码时:

Public Sub TestMe()

    Dim copyRange   As Range
    Dim strFilter   As String

    Set copyRange = Range("A1:P10")
    strFilter = "3"
    copyRange.AutoFilter 1, Criteria1:=strFilter

End Sub
试试这个:

Dim catName As String
catName = "B"
copyRange.AutoFilter 9, Criteria1:=catName
您没有正确引用某个位置,或者没有正确定义
catName
。例如,检查如何完成,按“3”在第1列上过滤:

使用此代码时:

Public Sub TestMe()

    Dim copyRange   As Range
    Dim strFilter   As String

    Set copyRange = Range("A1:P10")
    strFilter = "3"
    copyRange.AutoFilter 1, Criteria1:=strFilter

End Sub

为什么它很重要?没有
=
,我可以很好地管理。这很有效。为了确保没有任何尾随空格的前导,我只将其放入:-
Criteria1:=“=”&Trim(catName)
为什么它很重要?没有
=
,我可以很好地管理。这很有效。为了确保没有任何尾随空格的前导,我只将其放入:-
Criteria1:=“=”&Trim(catName)