gpt4 book ai didi

vba - 使用 VBA 存储自动筛选行号

转载 作者:行者123 更新时间:2023-12-04 22:08:58 26 4
gpt4 key购买 nike

如何存储和检索 行号 从使用 VBA 的自动筛选操作返回?例如,我使用了@brettdj 代码 from this question (见下面的代码)删除B列下所有带有“X”的行。现在我需要用X(B4,B6,B9 - 见下面的屏幕截图)存储行号,因为我需要删除其他工作表上的相同行在同一个工作簿中。

Before AutoFilter After AutoFilter

Sub QuickCull()
Dim ws As Worksheet
Dim rng1 As Range
Set ws = Sheets("Sheet1")
Set rng1 = ws.Range(ws.[b2], ws.Cells(Rows.Count, "B").End(xlUp))
Application.ScreenUpdating = False
With ActiveSheet
.AutoFilterMode = False
rng1.AutoFilter Field:=1, Criteria1:="X"
rng1.Offset(1, 0).EntireRow.Delete
.AutoFilterMode = False
End With
Application.ScreenUpdating = True
End Sub

最佳答案

使用 Is it possible to fill an array with row numbers which match a certain criteria without looping? 中的代码您可以在没有 AutoFilter 的情况下快速返回这些行

例如,此代码将返回在 B2:B50000 中找到 X 的行范围。

Sub GetEm()
Dim StrRng As String
StrRng = Join(Filter(Application.Transpose(Application.Evaluate("=IF(B2:B50000=""X"",""B""&ROW(B2:B50000),""X"")")), "X", False), ",")
If Len(StrRng) > 0 Then MsgBox Range(StrRng).EntireRow.Address & " could be deleted elsewhere"
End Sub

关于vba - 使用 VBA 存储自动筛选行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13654554/

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