tomswaelen
Gebruiker
- Lid geworden
- 8 dec 2004
- Berichten
- 349
Met behulp van dit forum heb ik voor een andere Excel deze code al eens verkregen:
Nu ben ik met een andere Excel bezig die ook met rekeningnummers werkt. De werking zou echter iets anders moeten zijn:
- deze keer werk ik met een bereik dat "Rekeningnummers" heet
- de code zou alles in groepjes van 4, te beginnen van voren moeten zetten. Een IBAN kan maximaal 34 tekens hebben.
- de code zou alles in uppercase moeten zetten (mijn vorige Excel werkte enkel met Belgische rekeningnummers, mijn huidige ook met internationale)
(de validatie van het nummer zelf gebeurt via een andere functie)
Ik heb echter geen idee hoe ik hieraan moet beginnen.
Ik heb al eens geprobeerd om bovenstaande code aan te passen zodat deze met mijn bereik werkt, maar zelfs dat lukt me niet:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo oeps
If Target.Range <> "Sjabloon verdeling.xlsm!Rekeningnummers" Then Exit Sub
' If Target.Value = "" Then Exit Sub
Application.EnableEvents = False
With Target
.Value = Replace(.Value, " ", "")
.Value = Replace(.Value, "be", "BE")
.Value = Mid(.Value, 1, 4) & " " & Mid(.Value, 5, 4) & " " & Mid(.Value, 9, 4) & " " & Mid(.Value, 13, 4) & " " & Mid(.Value, 17, 4) & " " & Mid(.Value, 21, 4)
End With
oeps:
Application.EnableEvents = True
End Sub
Nu ben ik met een andere Excel bezig die ook met rekeningnummers werkt. De werking zou echter iets anders moeten zijn:
- deze keer werk ik met een bereik dat "Rekeningnummers" heet
- de code zou alles in groepjes van 4, te beginnen van voren moeten zetten. Een IBAN kan maximaal 34 tekens hebben.
- de code zou alles in uppercase moeten zetten (mijn vorige Excel werkte enkel met Belgische rekeningnummers, mijn huidige ook met internationale)
(de validatie van het nummer zelf gebeurt via een andere functie)
Ik heb echter geen idee hoe ik hieraan moet beginnen.
Ik heb al eens geprobeerd om bovenstaande code aan te passen zodat deze met mijn bereik werkt, maar zelfs dat lukt me niet:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo oeps
If Target.Address <> Range("Rekeningnummers").Address Then Exit Sub
If Target.Value = "" Then Exit Sub
Application.EnableEvents = False
With Target
.Value = Replace(.Value, " ", "")
.Value = Replace(.Value, "be", "BE")
.Value = Mid(.Value, 1, 4) & " " & Mid(.Value, 5, 4) & " " & Mid(.Value, 9, 4) & " " & Mid(.Value, 13, 4) & " " & Mid(.Value, 17, 4) & " " & Mid(.Value, 21, 4)
End With
oeps:
Application.EnableEvents = True
End Sub