excel vba-从选定范围自动筛选
我正在尝试创建一个自动筛选,其中条件是由工作表上选定的单元格组成的数组 我在想类似的事情excel vba-从选定范围自动筛选,vba,excel,Vba,Excel,我正在尝试创建一个自动筛选,其中条件是由工作表上选定的单元格组成的数组 我在想类似的事情 dim crit as variant set crit = selection ' i know this isnt right ActiveSheet.Range("$A$2:$AC$476").AutoFilter Field:=1, Criteria1:=Array(crit), Operator:=xlFilterValues 不过,我不确定如何建立所选单元格的数组,以便作为标准传递。非常感谢
dim crit as variant
set crit = selection ' i know this isnt right
ActiveSheet.Range("$A$2:$AC$476").AutoFilter Field:=1, Criteria1:=Array(crit), Operator:=xlFilterValues
不过,我不确定如何建立所选单元格的数组,以便作为标准传递。非常感谢您提供的任何提示。您需要这样的提示:
Dim crit() As Variant
Dim n As Long
Dim rgCell As Range
ReDim crit(1 To Selection.Count)
n = 1
For Each rgCell In Selection.Cells
crit(n) = CStr(rgCell.Value)
n = n + 1
Next rgCell
ActiveSheet.Range("$A$2:$AC$476").AutoFilter Field:=1, Criteria1:=crit, Operator:=xlFilterValues
这就是你想要的吗
Sub Sample()
Dim crit As Range
Dim Ar() As Variant
'~~> Check if what the user selected is a valid range
If TypeName(Selection) <> "Range" Then
MsgBox "Select a range first."
Exit Sub
End If
Set crit = Selection
Ar = crit.Value
ActiveSheet.Range("$A$1:$C$7").AutoFilter Field:=1, _
Criteria1:=Application.Transpose(Ar), _
Operator:=xlFilterValues
End Sub
子样本()
暗爆作为射程
Dim Ar()作为变量
“~~>检查用户选择的范围是否有效
如果TypeName(选择)“范围”,则
MsgBox“首先选择一个范围。”
出口接头
如果结束
设置临界值=选择
Ar=临界值
ActiveSheet.Range(“$A$1:$C$7”)。自动筛选字段:=1_
准则1:=应用程序转置(Ar)_
运算符:=xlFilterValues
端接头
+1击败我D