在字段中使用变量而不是数字进行自动过滤

时间:2019-04-11 11:42:01

标签: excel vba

我正在做一个使用自动过滤器的新宏。我的程序需要读取所有列,并检测写在“ Inspecc。tornillo”或“caracterizaciónexfoliación”上的那些列。我的意思是,该宏必须使用不同的Excel,而您不知道列的顺序,而只是知道其中一个将被命名为“caracterizaciónexfoliación”,依此类推。因此,我尝试通过以下方式使用自动过滤器:

ActiveSheet.Range(Cells(1, 1), Cells(nFilas, nColumnas)).AutoFilter   
**Field:=tornillo**, Criteria1:="=Inspeccionar", Operator:=xlOr, Criteria2:="=No"

代替:

> ActiveSheet.Range(Cells(1, 1), Cells(nFilas, nColumnas)).AutoFilter   
> **Field:=7**, Criteria1:="=Inspeccionar", Operator:=xlOr, Criteria2:="=No"

我将变量tornillo声明为变体,但是它不起作用。我该怎么办?

预先感谢

1 个答案:

答案 0 :(得分:1)

说我们有

enter image description here

,我们不知道 Treasure 列是哪一列。我们想找到 Treasure 列,并为 gold 过滤它:

Sub TreasureHunt()
    Dim N As Long

    N = Range("1:1").Find(what:="Treasure", after:=Range("A1")).Column
    ActiveSheet.Cells.AutoFilter Field:=N, Criteria1:="Gold"
End Sub

enter image description here