Excel 数组引用到另一个工作表

Excel 数组引用到另一个工作表,excel,vba,Excel,Vba,我正在Excel宏中使用自动筛选。我已录制宏以自动筛选我的列表。我想要实现的是: 用户将在单独的工作表中输入几个名称(例如工作表#1) 宏将根据用户输入的名称过滤工作表#2中的列表 基本上,我不能使用下面的代码,因为数组中的列表将根据用户输入的不同而不同 可能吗?你能对我的代码做些修改吗 ActiveSheet.Range("$A$1:$F$786").AutoFilter Field:=1, Criteria1:=Array( _ "a.plegaria", "anna-mar

我正在Excel宏中使用自动筛选。我已录制宏以自动筛选我的列表。我想要实现的是:

  • 用户将在单独的工作表中输入几个名称(例如工作表#1)
  • 宏将根据用户输入的名称过滤工作表#2中的列表
  • 基本上,我不能使用下面的代码,因为数组中的列表将根据用户输入的不同而不同

    可能吗?你能对我的代码做些修改吗

    ActiveSheet.Range("$A$1:$F$786").AutoFilter Field:=1, Criteria1:=Array( _
            "a.plegaria", "anna-marie.madrid", "annie-kaye.violante", "ayla-marie.pascual", _
            "beda-jr.jacob"), Operator:=xlFilterValues
    
    比如说

       Dim rData                  As Range
       Dim vCriteria
    
       Set rData = ActiveSheet.Range("A1:F786")
    
       vCriteria = Application.Transpose(Sheets("Sheet2").Range("A1").CurrentRegion.Value)
       rData.AutoFilter field:=1, Criteria1:=vCriteria, Operator:=xlFilterValues
    

    你的问题有点不清楚。。。您的工作簿中有多少张工作表?你在哪里有数据?等一个技巧-尝试使用
    高级过滤器
    ,在这种情况下,这可能是一个更好的解决方案。宏记录器也会有帮助。我有两个工作表。工作表1包含名称列表。工作表2包含该表。我试过宏记录器,结果是上面的代码。不幸的是,数组显示特定的名称。如果用户输入了不同的名称怎么办?因此我建议再次尝试使用
    Advanced filter
    (而不是
    AutoFilter
    ),它提供了包括通配符在内的更多选项。谢谢@KazJaw,我将研究此选项