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

punten tussen voorletters plaatsen

  • Onderwerp starter Onderwerp starter jen
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

jen

Gebruiker
Lid geworden
16 nov 2001
Berichten
325
Ik heb een adressenbestand met voorletters die in 1 kolom staan. De voorletters staan aan elkaar. Nu wil ik de voorletters graag voorzien van punten.

voorbeeld

jj moet worden j.j.
hcj moet worden h.c.j.

zo heb ik 15.000 voorletters dus ik ben op zoek naar een makkelijke manier om dit uit te voeren. Heeft iemand een tip voor mij.
Ik werk met Excel 2007 en Excel 2003
 
Met wat hulp kolommen moet het wel lukken.
Als je een klein bestandje plaats met verschillende mogelijkheden wil ik er wel even naar kijken.
Ik neem nl aan dat het een eenmalige actie is.
 
Druk ALT-F11 en plak dit stukje macro in ThisDocument.
Vervolgens de cellen selecteren die je omgezet wilt hebben en macro runnen :

Code:
Sub ZetPunten()
    Dim celletje As Variant
    For Each celletje In Selection
        If celletje <> "" Then
            Dim tmp As String
            Dim i As Integer
            tmp = ""
            For i = 1 To Len(celletje.Value)
                tmp = tmp & Mid(celletje, i, 1) & "."
            Next
            celletje.Value = tmp
        End If
    Next
End Sub
 
Laatst bewerkt door een moderator:
Lees het bereik in een array, verwerk alles intern en schrijf het resultaat in 1 keer terug op je werkblad ipv 15.000 lees en schrijfbewerkingen.
Code:
Sub tst()
    With Sheets("Blad1")
        sq = .Range("A1:A" & .Cells(Rows.Count, 1).End(xlUp).Row)
        For j = 1 To UBound(sq)
            For jj = 1 To Len(sq(j, 1))
                tmp = tmp & Mid(sq(j, 1), jj, 1) & "."
            Next
            sq(j, 1) = tmp
            tmp = ""
            Next
        .Range("A1").Resize(UBound(sq)) = sq
    End With
End Sub
 
Bedankt voor de snelle reacties en de perfecte oplossing.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan