有人可以帮我在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号码上执行实际验证的能力。