gpt4 book ai didi

vba - 使用 VBA 自动筛选特定标准

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

我正在尝试使用 VBA 自动过滤项目。

问题是每个列表项之间都有斜线。例如,(ABC/EFG/HIJ)。我想提取仅包含字符串“ABC”的列表项,无论是单独列出还是与其他字符串项一起列出。例如,如果一个列表项显示 (ABC/EFG) 而另一个列表项显示 (ABC),我想要这两个项目,因为这两个项目本身都包含 ABC 字符串。这是我到目前为止所拥有的:

Sub FilterByABC()

'Change this to the relevant worksheet
Set ws = ThisWorkbook.Sheets("ABC")
Worksheets("ABC").Range("A1").AutoFilter , Field:=1, Criteria1:="ABC"
Operator = xlFilterValues
Range("A1").Select

Columns("A").Copy
Sheets("ABCData").Select
Columns("A").Select
Worksheets("ABCData").Paste


End Sub

最佳答案

添加第二个通配符过滤器和 Operator:=xlAnd范围。

enter image description here

Option Explicit

Sub FilterByABC()
Dim rngDest As Range

With Worksheets("ABCData")
Set rngDest = .Cells(.Rows.Count, "A").End(xlUp).Offset(1, 0)
End With

With Worksheets("ABC")
If .AutoFilterMode Then .AutoFilterMode = False
With .Cells(1, 1).CurrentRegion
.AutoFilter Field:=1, Criteria1:="ABC*", _
Operator:=xlAnd, Criteria2:="<>ABC EC*"
With .Resize(.Rows.Count - 1, 1).Offset(1, 0)
If CBool(Application.Subtotal(103, .Cells)) Then
'there are visible, filtered cells in column A; copy then to ABCData
.SpecialCells(xlCellTypeVisible).Copy Destination:=rngDest
End If
End With
End With
If .AutoFilterMode Then .AutoFilterMode = False
End With
End Sub

enter image description here

关于vba - 使用 VBA 自动筛选特定标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43669998/

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