以变​​量/单元格为标准的自动过滤器

时间:2019-07-11 10:03:34

标签: excel vba

我想使用自动筛选功能,但我想从另一个工作表的单元格中获取Criteria1。我试图使用确切的范围,也是一个变量。我的错误运行时错误9被行超出了范围。设置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

1 个答案:

答案 0 :(得分:0)

这应该有效:

(未经测试)

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