Mit nachfolgender Funktion lässt sich die IBAN-Nummer sowohl für deutsche als auch österreichische Bankverbindungen ermitteln. Beschreibung der Parameter:
' IBAN-Nummer ermitteln Private Function IBANCalc(ByVal sLand As String, _ ByVal sBLZ As String, _ ByVal sKtoNr As String, _ Optional ByVal nBLZMaxLen As Integer = 8, _ Optional ByVal nKTOMaxLen As Integer = 10) As String Dim zahl As Variant Dim pz As Variant Dim sIBAN As String Dim sChar As String Dim sTemp As String Dim i As Integer sIBAN = sLand & "00" & _ Format$(sBLZ, String$(nBLZMaxLen, "0")) & _ Format$(sKtoNr, String$(nKTOMaxLen, "0")) sIBAN = Right$(sIBAN, Len(sIBAN) - 4) & Left$(sIBAN, 4) For i = 1 To Len(sIBAN) sChar = Mid$(sIBAN, i, 1) If Asc(sChar) > 64 And Asc(sChar) < 91 Then sChar = CStr(Asc(sChar) - 55) End If sTemp = sTemp & sChar Next i zahl = CDec(sTemp) pz = 98 - modDecimal(zahl, 97) sTemp = Left$(sTemp, Len(sTemp) - 2) & Trim$(Str$(pz)) sTemp = Right$(sTemp, 6) & Left$(sTemp, Len(sTemp) - 6) IBANCalc = Chr$(Val(Left$(sTemp, 2)) + 55) & _ Chr$(Val(Mid$(sTemp, 3, 2)) + 55) & _ Right$(sTemp, Len(sTemp) - 4) End Function Da es sich bei den Berechnungen um sehr große ganze Zahlen handelt, muss auf das Decimal-Format ausgewichen werden (mit CDec) und es braucht eine eigene Modulo-Funktion: ' Hilfsfunktion: Modulo für große Zahlen Public Function modDecimal(Dividend, Divisor) If Divisor = 0 Then modDecimal = -1 Else modDecimal = Dividend - Divisor * (Round(Dividend / Divisor)) If modDecimal < 0 Then modDecimal = Divisor + modDecimal End If End Function Aufrufbeispiel: ' Deutschland ' BLZ: 793 530 90 ' Konto-Nr.: 16303 ' ' offizielle IBAN-Nummer lautet: DE65793530900000016303 Dim sIBAN As String sIBAN = IBANCalc("DE", "79353090", "16303", 8, 10) Wichtiger Hinweis: Dieser Tipp wurde bereits 4.502 mal aufgerufen.
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv (einschl. Beispielprojekt!) Ein absolutes Muss - Mehr als 650 MByte geballtes Wissen! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - Online-Update-Funktion u.v.m. |
Unser Dauerbrenner! ![]() 650 MB geballtes Wissen aus 6 Jahren vb@rchiv Online-Update-Funktion Entwickler-Vollversionen u.v.m. Buchempfehlung Tipp des Monats Dieter Otter Snapshot einer Webseite erstellen Mit dieser Funktion lässt sich ein Snapshot einer Webseite erstellen, die aktuell im WebBrowser-Control angezeigt wird. sevWizard für VB5/6 ![]() Professionelle Assistenten im Handumdrehen Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) |
||||||||||||||||
|
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |
|||||||||||||||||


Berechnung von IBAN-Nummern



