2

有人可以帮我在 Visual Basic for Applications (Excel) 中创建一个函数来验证比利时的 IBAN 号码吗?所以我可以在 Excel 中添加一个数字列表,并将它们验证为 TRUE 或 FALSE。

比利时 IBAN 号码示例:

BE43 1325 3117 7701

在寻求帮助之前,我已经尝试了几件事。我试图调整我在该站点上一个较早主题中找到的代码,即:

Public Function VALIDATEIBAN(ByVal IBAN As string) As Boolean
On Error GoTo Catch

Dim objRegExp As Object
Dim blnIsValidIBAN As Boolean

Set objRegExp = CreateObject("vbscript.regexp")
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = "^[a-zA-Z]{2}\d{2}[ ]\d{4}[ ]\d{4}[ ]\d{4}[ ]\d{4}[ ]\d{4}|CZ\d{22}$"



blnIsValidIBAN = objRegExp.Test(IBAN)
VALIDATEIBAN = blnIsValidIBAN

Exit Function

Catch:
VALIDATEIBAN = False
MsgBox "Module: " & MODULE_NAME & " - VALIDATEIBAN function" & vbCrLf & vbCrLf _
    & "Error#:  " & Err.Number & vbCrLf & vbCrLf & Err.Description
End Function

我一直在尝试通过调整来修改:

objRegExp.Pattern = "^[a-zA-Z]{2}\d{2}[ ]\d{4}[ ]\d{4}[ ]\d{4}[ ]\d{4}[ ]\d{4}|CZ\d{22}$"

我从显而易见的开始,删除了检查的八个位置,如下所示:

objRegExp.Pattern = "^[a-zA-Z]{2}\d{2}[ ]\d{4}[ ]\d{4}[ ]\d{4}|CZ\d{22}$"

通过这种方式,我可以让 Excel 中的代码“验证”为真或假,但我认为只需从代码中删除位置,我还可以删除代码对 IBAN 号码执行实际验证的能力。

4

0 回答 0