首页 > 解决方案 > 以变​​量/单元格为标准的自动过滤器

问题描述

我想使用自动筛选功能,但我想从另一个工作表的单元格中获取 Criteria1。我尝试使用确切的范围和变量。我成为错误运行时错误 9 subcript out of range 的行。设置 GL = Worksheets("Sheet1").Range("l7").Value。甚至可能吗?我应该使用其他类型的变量吗?一开始我在工作表(“DE-CC”)和我从工作表(“Sheet1”)中获取的标准,单元格“L7”。有什么建议吗?

Dim GL As Range
Set GL = Worksheets("Sheet1").Range("l7").Value
    Rows("1:1").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("AB1").Select
    Selection.AutoFilter
    ActiveSheet.Range("a2:ab2").AutoFilter Field:=19, Criteria1:=GL

标签: excelvba

解决方案


这应该工作:

(未经测试)

Dim GL As String

GL = Worksheets("Sheet1").Range("l7").Value

    Rows("1:1").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Activesheet.UsedRange.AutoFilter Field:=19, Criteria1:=GL

更改了价值的声明和分配

你也应该试试这个,

Dim GL As String

GL = Worksheets("Sheet1").Range("l7").Value

    Activesheet.UsedRange.AutoFilter Field:=19, Criteria1:=GL

推荐阅读