gpt4 book ai didi

vba - 自动筛选中间有换行符的值(Excel/VBA)

转载 作者:行者123 更新时间:2023-12-04 20:38:08 24 4
gpt4 key购买 nike

我编写了一个 VBA 代码,我必须在其中过滤一组数据。但是我的一些数据中有一个换行符,我想过滤这些值。我尝试使用 vbCrLf ,但这没有用。

这是我的代码:

ActiveSheet.Range("$A$1:$M$10").AutoFilter Field:=2, Criteria1:="=1234 -" & vbCrLf & "product"

在这里,我在第二列中过滤值 1234 -product(在“-”和“product”之间有一个换行符)。但是上面的代码并没有过滤任何东西。

我在这里做错了什么?

最佳答案

您可以将以下字符串用于 Criteria1 :

"=1234 -?product"
"=1234 -*product"
"=1234 -" & vbLf & "product"

选项 1 和 2 使用通配符 - 您甚至可以删除 product如果您使用 *,则结束.选项 3 是您没有根据评论尝试的唯一选项;)

都给了我预期的输出:

前:

enter image description here

后:

enter image description here

示例代码:
Option Explicit

Sub Test()

Dim ws As Worksheet
Dim rng As Range
Dim strCriteria As String

Set ws = ThisWorkbook.Sheets("Sheet1")
Set rng = ws.Range("A1:A4")

'unset filter
ws.AutoFilterMode = False

'set filter - test 1 with wildcard
strCriteria = "=1234 -?product"
rng.AutoFilter Field:=1, Criteria1:=strCriteria

'unset filter
ws.AutoFilterMode = False

'set filter - test 2 with wildcard
strCriteria = "=1234 -*product"
rng.AutoFilter Field:=1, Criteria1:=strCriteria

'unset filter
ws.AutoFilterMode = False

'set filter - test 3 with vbLf
strCriteria = "=1234 -" & vbLf & "product"
rng.AutoFilter Field:=1, Criteria1:=strCriteria

End Sub

关于vba - 自动筛选中间有换行符的值(Excel/VBA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39074322/

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