我如何获得自动filter字段指示器来指示正确的列?

我有一个电子表格/ 30左右的列。 我的目标是过滤基于1列的设置,我的方法是指定一个范围就是该列,然后过滤该范围。 我确实有自动filter的每一列,当我指定一个字段:= 1的Excel中挑选第一列…这是我的范围之外。 所以它总是试图根据需要过滤列“A”…而不是列“U”。 我误解了如何使用这个字段? 我虽然是在一个范围内的偏移量。

这是一个简单的例子

Dim r As Range Dim sheet As Worksheet Set sheet = ThisWorkbook.Worksheets("test") sheet.Range("u1:u9").AutoFilter field:=1, Criteria1:="Will" 

作为一边…有没有办法获得与列字母关联的列号? 例如U – > 21.如果是这样,我可以select整个电子表格作为范围,做一个21的偏移量

如果您将filter应用于一列,则必须先清除现有的filter。

你调整的代码将是这样的,它将应用filter列U只…

 Sub test() Dim r As Range Dim sheet As Worksheet Set sheet = ThisWorkbook.Worksheets("test") sheet.AutoFilterMode = False sheet.Range("u1:u9").AutoFilter field:=1, Criteria1:="Will" End Sub 

要么

您也可以将filter应用于所有列,并正确指定字段标准。

试试这个…

 Sub test2() Dim r As Range Dim sheet As Worksheet Set sheet = ThisWorkbook.Worksheets("test") Set r = sheet.Range("U1") sheet.AutoFilterMode = False sheet.Range("A1").CurrentRegion.AutoFilter field:=r.Column, Criteria1:="Will" End Sub