我对vba很新,我正在试图弄清楚如何识别一个字符变化范围内的邮政编码。
例如,我想查看邮政编码是否介于2G8
和2P8
之间。
换句话说,我正在寻找的范围是2_8
,其中下划线可以是G
到P
,但我不知道我不知道如何在代码中识别它。
我真的很感激帮助找出解决这个问题的方法。谢谢!
答案 0 :(得分:9)
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
答案 1 :(得分:7)
您可以使用VBA Mid
功能提取每个字符并根据您的业务规则进行验证。以下是它的外观示例:
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
,指示输入是否有效。