• 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.

Een "." achter elke enkele letter in een string plaatsen

Status
Niet open voor verdere reacties.

NogGeenGuru

Gebruiker
Lid geworden
5 aug 2015
Berichten
130
Beste forumleden,

Ik loop vast bij het volgende:

Ik heb een .txt file die ik inlaad in een worksheet.
De juiste informatie wordt hieruit gefilterd, waaronder een straatnaam.

Nu zijn de straatnamen in het .txt bestandje afgekort.

Bijv: "vincent van goghstraat" wordt afgekort naar "V V Goghstr"

Wat ik graag wil is d.m.v. een macro "V V Goghstr" omzetten naar "V. V. Goghstraat"
met puntjes ertussen en van str moet straat gemaakt worden.

Nou heb ik m.b.v. de Right functie het srt naar straat probleem opgelost... maar bij het zetten van de puntjes loop ik vast.

weet iemand hier een oplossing voor?

*Edit*
Ik heb de oplossing zojuist gevonden.

Mocht iemand anders ooit iets vergelijkbaars zoeken:
Code:
'Initalen met . schrijven
StraatNaam = Application.Trim(Application.Clean(Replace(StraatNaam, vbNullChar, vbNullString)))
Dim WoordArray() As String
WoordArray() = Split(StraatNaam)

For i = LBound(WoordArray) To UBound(WoordArray)
    If Len(WoordArray(i)) = 1 Then
       StraatNaamCorrect = StraatNaamCorrect & " " & WoordArray(i) & "."
    Else:
       StraatNaamCorrect = StraatNaamCorrect & " " & WoordArray(i)
    End If
Next i

StraatNaam = StraatNaamCorrect
 
Laatst bewerkt:
Volgen mij is de 2e V is geen voorletter maar een tussenvoegsel;)

Iets anders geschreven en ook volledig

Code:
Function VenA(c00)
Dim j As Long
  If LCase(Right(c00, 3)) = "str" Then c00 = Left(c00, Len(c00) - 3) & "straat"
  For j = 0 To UBound(Split(c00))
    VenA = VenA & IIf(Len(Split(c00)(j)) = 1, Split(c00)(j) & ". ", Split(c00)(j) & " ")
  Next j
  VenA = Trim(VenA)
End Function
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan