IBAN in Excel ermitteln - Neue Funktion

Am 01.02.2014 tritt SEPA für alle Euro-Mitgliedsstaaten endgültig in Krafft. Zu diesem Zeitpunkt müssen alle bargeldlosen Zahlungen im EURO-Raum im SEPA-Format durchgeführt werden. SEPA steht für Single European Payment Area, auf deutsch für Einheitlicher Euro-Zahlungsverkehrsraum.

Author: Know-World

Author: Know-World: This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.

Um eine SEPA Überweisung durchführen zu können, wird anstatt der Kontonummer eine sogenannte IBAN und für die herkömmliche Bankleitzahl der BIC/Swift Code benötigt.

Die Abkürzung IBAN steht dabei für International Bank Account Number. Das Format einer IBAN wird durch die ISO-Norm ISO 13616-1:2007 Teil 1 festgelegt. BIC bedeutet Business Identifier Code. Jedes Kreditinstitut besitzt einen eigenen einmaligen BIC-Code zur eindeutigen Identifizierung. Auf der Webseite SWIFT.com kann der Swift/BIC Code aller europäischen Kreditinstitute gesucht werden.

Da der IBAN-Code einen eindeutigen Aufbau gem. ISO-Norm besitzt, lässt sich dieser auch automatisch aus Kontonummer und Bankleitzahl ermitteln.

Die folgende Grafik zeigt den Aufbau einer deutschen IBAN.

Eine deutsche IBAN ist also immer 22 Stellen lang und setzt sich aus einem 2-stelligen Ländercode, einer 2-stelligen Prüfziffer, der 8-stellingen Bankleitzahl und einer 10-stelligen Kontonummer zusammen.

Mit Hilfe der folgenden VBA-Funktion können für beliebige Kontonummern und Bankleitzahlen die IBAN Nummern generiert werden.

Function IBAN(KNR, BLZ)
'** Berechnung der IBAN aus Konto-Nr., Bankleitzahl und Länderkürzel

'** Dimensionierung der Variablen
Dim LC As String 'Ländercode alphanumerisch
Dim LC1, LC2 As Long
Dim LCnum As Long 'Ländercode numerisch
Dim BBAN, BBAN2 As String
Dim Laenge As Long
Dim PSumme As String

'** Funktion als veränderlich kennzeichnen
Application.Volatile

'** Festlegen des Ländercodes
LC = "DE"

'** 1. Ermittlung der Länderkennung
LC1 = Asc(Left(LC, 1)) - 64 + 9
LC2 = Asc(Right(LC, 1)) - 64 + 9
LCnum = LC1 & LC2 & "00"

'** 2. Ermittlung der BBAN
BBAN = BLZ & Format(KNR, "0000000000")
BBAN2 = BLZ & Format(KNR, "0000000000") & LCnum

'** 3. Ermittlung Prüfsumme nach Modulo 97
'** Anzahl Stelle der IBAN
Laenge = Len(BBAN2) - 9 - 7 - 1

'** Teil 1 bis 4
p1 = Left(BBAN2, 9) Mod 97
p2 = (p1 & Mid(BBAN2, 10, 7)) Mod 97
p3 = (p2 & Mid(BBAN2, 17, Laenge)) Mod 97
p4 = (p3 & Right(BBAN2, 1)) Mod 97
PSumme = Format(98 - p4, "00") 'Prüfsumme

'** 4. Rückgabe des Ergebnisses an die Funktion
IBAN = LC & PSumme & BBAN

End Function

Tragen Sie zu Ermittlung einer gültigen deutschen IBAN folgendes in eine Excel-Zelle ein: =IBAN(12345678; 76050101) ein. Damit wird diese gültige IBAN erzeugt: DE61760501010012345678.

Da es sich um eine benutzerdefinierte Excel-Funktion handelt, können Sie diese wie gewohnt verwenden. Sie können beispielsweise für eine Liste mit Kontonummer und Bankleitzahlen ganz einfach sämtliche IBAN erzeugen, indem Sie in die Funktion =IBAN(KontoNr;BLZ) in die erste Zeile der Liste eintragen und mit dem Autoausfüllkästchen nach unten ziehen.

Damit können Sie mit wenig Aufwand für alle Ihre Bankverbindungen die entsprechende IBAN direkt in Excel ermitteln.