Excel, Validatie bankrekeningnummer



Tip & Truc met betrekking tot het valideren van een bankrekeningnummer.



Wist u dit, validatie van bankrekeningnummers ?

Indien men verantwoordelijk is voor het uitvoeren van incasso's voor het innen van bijvoorbeeld contributie, dan wordt informatie over bank- en girorekeningnummers vastgelegd. Rekeningnummers zijn nietszeggend en typefouten zijn snel gemaakt. Foutieve rekeningnummers moeten zo snel mogelijk worden herkend. Daarnaast moet met rekeningnummers en machtigingen zorgvuldig worden omgegaan.

Dit is de reden voor het definiƫren van een aangepaste excel-functie (formule), waarin de juistheid (syntax) van een bankrekening wordt getest. Dit verkleint namelijk de kans op het gebruik van foutieve bankrekeningnummers.
Het sluit het toevallig invoeren van een juist bankrekeningnummer (van iemand anders) echter niet uit.

Controle op juistheid van Girorekeningnummers is niet via de syntax uit te voeren. Deze rekeningnummers moeten bij de ING/Postbank worden bevestigd.

Onderstaande validatie van bankrekeningnummers maakt gebruik van de zogenaamde 11-controle (elfproef).


Public Function ValidRek(c) As Boolean

Dim i As Integer
Dim Tekst As String
Dim ControleGetal As Double

' TemplateBuilding

  ValidRek = False
  Tekst = ""

  For i = 1 To Len(c)
    If InStr(1, "0123456789", Mid(c, i, 1), vbTextCompare) > 0 Then _
      Tekst = Tekst + Mid(c, i, 1)
  Next i

  If Len(Trim(Tekst)) > 7 Then
'  Bankreknr
   Tekst = Right("0000000000" + Tekst, 10)
   For i = 1 To Len(Tekst)
     ControleGetal = ControleGetal + (11 - i) * CInt(Mid(Tekst, i, 1))
   Next i
   If 11 * (Int(ControleGetal / 11)) = ControleGetal Then
     ValidRek = True
   End If
  Else
'   GiroReknr
'   Geen validatie op girorekeningnummer
    ValidRek = True
  End If

End Function



Bovenstaande functie kan worden overgenomen als VBA-code in een module van een Excel werkmap. Daarna kan de zelfgedefinieerde functie worden aangeroepen als:


=validrek(A1)


waarbij de cel A1 het betreffende bankrekeningnummer bevat.


Heb je nog vragen, neem dan gerust contact met ons op.