gpt4 book ai didi

excel - VBA中的模式不匹配

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

我正在尝试匹配 VBA 中的模式,但它不起作用。我正在尝试匹配 -> 1:0 之类的模式

If Cells(i, 7) Like "[0-9]\:[0-9]" Then
Range("G" & i).Interior.ColorIndex = 0
Else
CountDTPSelectionError = 1
Range("G" & i).Interior.Color = RGB(255, 0, 0)
ErrorsLog = ErrorsLog & TimeStamp & " Error: " & "DTP Selection Is not Defined Correctly" & vbNewLine
End If


此代码颜色甚至正确匹配的值。我只希望与上述正则表达式不匹配的模式应为红色。

最佳答案

您正在尝试转义冒号以使其成为文字冒号。无需在 VBA 中执行此操作和 Like接线员 也不是 在您使用的正则表达式模拟中。 \:只是告诉引擎使用文字冒号,但只使用 :结果相同的效果,it's allready literal .此外,您似乎正在检查比率?如果是这样,那么我认为0:1会是一个无效的比率吗?为此请参阅以下内容:

Sub Test()

Dim arr As Variant: arr = Array("12:9", "1:9", "1/9", "0:1)

For Each el In arr
If el Like "[1-9]:#" Then
Debug.Print el & "= Correct"
Else
Debug.Print el & "= Incorrect"
End If
Next

End Sub

在哪里 #[0-9] 的缩写运营商内。请记住, Like 和正则表达式有相似之处,它们是 不是 相同!

注:如果 0:1是一个有效的模式,然后简单地更改为 #:#根据评论中提到的@YasserKhalil。

关于excel - VBA中的模式不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62319656/

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