• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Voorletters met punten

Status
Niet open voor verdere reacties.

veenvlij

Gebruiker
Lid geworden
4 dec 2008
Berichten
23
hallo,

ik heb een excel bestand met voorletters in verschillende formaten bv:
a.j.
imj
J.m
t.est

deze wil ik graag in hoofdletters, en met een punt achter de letter :
A.J.
I.M.J.
J.M.
T.E.S.T

heb de volgende code in het forum gevonden, echter bij een bestaande punt word er een punt achter geplaatst. bijv : a.a. word A..A..

Function HfdLtPnt(sInhoud As String) As String
Dim uitvoer As String
Dim positie As Integer

While positie < Len(sInhoud)
positie = positie + 1
uitvoer = uitvoer + UCase$(Mid$(sInhoud, positie, 1) + ".")
Wend
HfdLtPnt = uitvoer
End Function


Kan iemand me hierbij helpen?
Thanks
 
dank voor het snelle antwoord, echter is dit niet het probleem.

in bestaande code word aa A.A. en a.a. A..A..
gaat erom dat als er al een punt staat, er geen tweede punt achter word geplaatst.
 
Met de functie substitute kan je de punten eerst weghalen.
Dan werkt de VBA functie wel naar behoren.

Joske
 
Beste veenvlij ;)

Gebruik de volgende code :

Code:
=SUBSTITUEREN(A1;".";"")

Dan de VBA code uitvoeren.

Groetjes Danny. :thumb:
 
Code:
Function voorletters(sInhoud As String) As String
  For j = 1 To Len(Replace(sInhoud, ".", ""))
    voorletters = voorletters & Mid(Replace(sInhoud, ".", ""), j, 1) & "."
  Next
End Function
 
Laatst bewerkt:
Hallo SNB,

dank je voor de code, echter ik krijg bij bv : m.l. als uitkomst m..l..
dus nog steeds dubbele punten en kleine letters.

de optie substitutie is een extra handeling, dus 2 keer een kolom aanmaken en uitvoeren.
zie het graag in 1 handeling uitgevoerd.

John
 
hallo snb,

de functie aangepast naar :

Function voorletters(sInhoud As String) As String
For j = 1 To Len(Replace(sInhoud, ".", ""))
voorletters = voorletters & UCase$(Mid(Replace(sInhoud, ".", ""), j, 1) & ".")
Next
End Function

dit werkt nu met hoofdletterd,
dank jullie alle voor de input !!

John
 
Gaarne de vraag dan op opgelost zetten (rechtonder het scherm).
Bvd.

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan