gpt4 book ai didi

vba - 如何获得自动过滤字段指示器以指示正确的列?

转载 作者:行者123 更新时间:2023-12-04 20:56:32 25 4
gpt4 key购买 nike

我有一个包含 30 列左右的电子表格。我的目标是根据 1 列过滤集合,我的方法是指定一个范围只是该列,然后过滤该范围。我确实在每一列上都有自动过滤器,当我指定一个字段时:= 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。如果是这样,我可以选择整个电子表格作为范围并进行 21 的偏移

最佳答案

如果您将过滤器应用于一列,则必须先清除现有过滤器。

您调整后的代码将是这样的,它将过滤器仅应用于 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

或者

您还可以将过滤器应用于所有列并正确指定字段条件。

试试这个...
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

关于vba - 如何获得自动过滤字段指示器以指示正确的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46515086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com