5

我对很陌生,我试图弄清楚如何识别一个字符变化范围内的邮政编码。

例如,我想查看邮政编码是否介于2G8和之间2P8

换句话说,我正在寻找的范围是2_8下划线可以G的位置P,但我不知道如何在代码中识别它。

我真的很感激一些帮助来弄清楚如何解决这个问题。谢谢!

4

2 回答 2

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
于 2012-04-20T02:31:51.313 回答
7

您可以利用 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

此函数将返回一个值TrueFalse指示输入是否有效。

于 2012-04-20T01:47:29.817 回答