tomswaelen
Gebruiker
- Lid geworden
- 8 dec 2004
- Berichten
- 349
Ik heb onderstaande macro die alle gegevens in de range 'Rekeningnummers' formatteert als een IBAN, dwz in hoofdletters zetten (nl wordt NL, be wordt BE enzovoort), en groeperen in groepjes van vier.
Alleen kan in die range ook nog andere info geschreven worden, het is niet de bedoeling dat de macro dan reageert. Hoe vang ik dit het best op? Het gaat in de praktijk altijd om Belgische rekeningnummers. Hoe kan ik hier in bouwen dat de macro enkel moet reageren als de input begint met BE? (of als er andere manieren zijn... )
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'Groepeer IBAN-nummer in groepjes van vier
Dim i As Long, y As Long
If Not Intersect(Target, Range("Rekeningnummers")) Is Nothing And Target.Count = 1 Then
Application.EnableEvents = False
Target = Replace(Target, " ", "")
For i = 1 To Len(Target) Step 4
Target.Characters(i + y, 0).Insert (" ")
y = y + 1
Next i
Target = Mid(UCase(Target), 2)
Application.EnableEvents = True
End If
End Sub
Alleen kan in die range ook nog andere info geschreven worden, het is niet de bedoeling dat de macro dan reageert. Hoe vang ik dit het best op? Het gaat in de praktijk altijd om Belgische rekeningnummers. Hoe kan ik hier in bouwen dat de macro enkel moet reageren als de input begint met BE? (of als er andere manieren zijn... )