Ik ben op zoek naar een VBA-oplossing om bij invoer van voorletters in een cel, deze direct om te zetten in hoofdletters met punten. Ik vond al de volgende functiecode op dit forum:
Werkt op zich goed in de meeste gevallen:
aab wordt A.A.B.
a.a.b. wordt A.A.B.
A.A.B. blijft A.A.B.
Maar zouden er (per ongeluk) spaties in staan dan gaat het niet goed. Bijvoorbeeld: aa b wordt A.A..B. en spatie op eerste positie wordt bij aab dan .A.A.B. Dus alle spaties zouden van tevoren verwijderd moeten zijn. Hoe krijg ik dat in die code voor elkaar? Zal misschien wel makkelijk zijn maar ik kom er helaas niet uit.
Code:
Function voorletters(sInhoud As String) As String
Dim j As Integer
For j = 1 To Len(Replace(sInhoud, ".", ""))
voorletters = voorletters & UCase$(Mid(Replace(sInhoud, ".", ""), j, 1) & ".")
Next
End Function
Werkt op zich goed in de meeste gevallen:
aab wordt A.A.B.
a.a.b. wordt A.A.B.
A.A.B. blijft A.A.B.
Maar zouden er (per ongeluk) spaties in staan dan gaat het niet goed. Bijvoorbeeld: aa b wordt A.A..B. en spatie op eerste positie wordt bij aab dan .A.A.B. Dus alle spaties zouden van tevoren verwijderd moeten zijn. Hoe krijg ik dat in die code voor elkaar? Zal misschien wel makkelijk zijn maar ik kom er helaas niet uit.