Код для проверки бельгийских IBANS
Может кто-нибудь помочь мне создать функцию в Visual Basic для приложений (Excel) для проверки бельгийских номеров IBAN? Поэтому я могу добавить список чисел в Excel, и он проверяет их как ИСТИНА или ЛОЖЬ.
Пример бельгийского номера 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.