Er is geen bereik gevonden met de naam die u hebt opgegeven"
Ik denk dat de functies van VBA niet herkend worden.
Ik had het geprobeerd met een eigen simpele VBA functie "Istekst" en op het eerste werkte het, maar dit is ook een ingebouwde functie van Excel, had ik niet aan gedacht...
Nu heb ik het volgende gedaan (voor Belgisch rek nr):
In VBA:
Code:
Public Function RekeningNummerOK(str_rekeningnummer As String) As Boolean
Dim dbl_Links10 As Double, byt_rechts2 As Byte, byt_Modulus As Byte
'Rekeningnummer is correct alsde rest na deling van de 10 eerste cijfers gedeeld door 97 gelijk is aan de twee laatste cijfers.
'Normaal kan je hiervoor weken met mod, maar dit geeft fout bij getallen langer dan long
'Vandaar andere redenering :
'13 - 4*3 = 1
'deeltal - deler * afgekapte deling = rest na deling
'10 eerste cijfers - 97* afgekapte deling = 2 laatste cijfers
'Rekeningnr als string gedefinieerd wegens eventuele leading zero's
dbl_Links10 = Left(str_rekeningnummer, 10)
byt_rechts2 = Right(str_rekeningnummer, 2)
byt_Modulus = dbl_Links10 - Int(dbl_Links10 / 97) * 97
RekeningNummerOK = (byt_Modulus = byt_rechts2)
End Function
In excel sheet:
Rekeningnummer opgemaakt als tekst
in de kolom
naast het rek nr zet ik de VBA functie,ze geeft Waar of Onwaar. Deze kolom kan je uiteraard verbergen.
Bvb rek nr staat in A2, de VBA functie in B2
Als validatie voor A2 geef ik als formule in: = B2
Omweg, maar het werkt!