gpt4 book ai didi

excel - 是否可以在自动过滤语法中指定动态范围?

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

我写了下面的代码来应用自动过滤器。代码工作正常。但是我在这里指定了静态范围:*Range("A1", **"M"** & lastRow).AutoFilter* .
有没有办法替换"M"与 sheet2 中的最后一个现有列号。
我计算了最后一个现有列 *myCol = rngFound.Column - 1* .但不确定如何使用它。
请帮忙 !!!

我的代码:

Sub testfilter1()
Dim lastRow As Long
Dim myCol As Long
Dim rngFound As Range

ThisWorkbook.Sheets("sheet2").Activate

lastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row

Set rngFound = ActiveSheet.Rows(1).Find(What:="", LookIn:=xlValues, LookAt:=xlWhole, _
SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)

myCol = rngFound.Column - 1 ' this will give last used column

Rows("1:1").Select
Selection.AutoFilter
ActiveSheet.Range("A1", "M" & lastRow).AutoFilter Field:=4, Criteria1:="*somename*"

End Sub

最佳答案

您可以使用 Cells()Range() 内:

...Range(Cells(1,1),Cells(lastRow,myCol))...
Cells(1,1)是单元格 A1 .格式为 Cells([row],[column])
编辑:刚刚意识到你也可以使用 Range("A1",Cells(lastRow,myCol)) .就个人而言,如果我使用 Cells()我在 Range() 的两个地方都这样做,但这是个人喜好,这种其他方式也应该适用于您。

关于excel - 是否可以在自动过滤语法中指定动态范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48913000/

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