我对vba很陌生,我试图弄清楚如何识别一个字符变化范围内的邮政编码。
例如,我想查看邮政编码是否介于2G8
和之间2P8
。
换句话说,我正在寻找的范围是2_8
下划线可以到G
的位置P
,但我不知道如何在代码中识别它。
我真的很感激一些帮助来弄清楚如何解决这个问题。谢谢!
LIKE
避免重复的字符串测试
1. 简单测试
Function ValidString(strIn As String) As Boolean
ValidString = strIn Like "2[G-P]8"
End Function
2.不区分大小写的版本
Function ValidString(strIn As String) As Boolean
ValidString = LCase$(strIn) Like LCase$("2[G-P]8")
End Function
您可以利用 VBAMid
功能提取每个字符并根据您的业务规则对其进行验证。这是它的外观示例:
Function ValidatePostalCode(code As String)
ValidatePostalCode = _
(Mid(code, 1, 1) = "2") And _
(Mid(code, 2, 1) >= "G" And Mid(code, 2, 1) <= "P") And _
(Mid(code, 3, 1) = "8")
End Function
此函数将返回一个值True
或False
指示输入是否有效。