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

Naam splitsen

Status
Niet open voor verdere reacties.

Jack Nouws

Terugkerende gebruiker
Lid geworden
16 apr 2008
Berichten
1.396
Hallo

Ik heb een naam in een cel staan en die wil ik opsplitsen in 5 kolommen.
Bijv. in cel B2 staat, " Acer palmatum Little Princes Darling"
Dan zou in cel C2, "Acer" moeten staan
in cel D2, "palmatum"
in cel E2, "Little"
in cel F2, "Princess"
in cel G2, "Darling"
Hoe kan ik dat het beste doen?

Met vr gr
Jack
 
Met dank aan Ozgrid:
Code:
Function Get_Word(text_string As String, nth_word) As String

Dim lWordCount As Long

        With Application.WorksheetFunction

        lWordCount = Len(text_string) - Len(.Substitute(text_string, " ", "")) + 1

        If IsNumeric(nth_word) Then

           nth_word = nth_word - 1

            Get_Word = Mid(Mid(Mid(.Substitute(text_string, " ", "^", nth_word), 1, 256), _
                .Find("^", .Substitute(text_string, " ", "^", nth_word)), 256), 2, _
                .Find(" ", Mid(Mid(.Substitute(text_string, " ", "^", nth_word), 1, 256), _
                .Find("^", .Substitute(text_string, " ", "^", nth_word)), 256)) - 2)

        ElseIf nth_word = "First" Then

            Get_Word = Left(text_string, .Find(" ", text_string) - 1)

        ElseIf nth_word = "Last" Then

            Get_Word = Mid(.Substitute(text_string, " ", "^", Len(text_string) - _
            Len(.Substitute(text_string, " ", ""))), .Find("^", .Substitute(text_string, " ", "^", _
            Len(text_string) - Len(.Substitute(text_string, " ", "")))) + 1, 256)

        End If

    End With

End Function

en voor de aanvulling: http://www.ozgrid.com/VBA/extract-words-function.htm

Zo zou het moeten lukken.

Succes
Martin
 
Als het een éénmalige functie is, kun je het ook handmatig doen.
Bijv. in B2 heb je dan de tekst staan.
De cel B2 selecteer je (of zelfs de hele kolom B kan ook).
Dan kies je voor Gegevens; Tekst naar Kolommen
Bij de gegevenstype kies je voor Gescheiden
Als scheidingsteken een spatie
Dan wordt na Voltooien de tekst in B2 vanaf kolom B opgesplitst per woord in een kolom
 
Als het een éénmalige functie is, kun je het ook handmatig doen.
Bijv. in B2 heb je dan de tekst staan.
De cel B2 selecteer je (of zelfs de hele kolom B kan ook).
Dan kies je voor Gegevens; Tekst naar Kolommen
Bij de gegevenstype kies je voor Gescheiden
Als scheidingsteken een spatie
Dan wordt na Voltooien de tekst in B2 vanaf kolom B opgesplitst per woord in een kolom

OK bedankt troedeboer,

Ik heb een macro opgenomen naar aanleiding van jou bericht, en het werkt perfect. :thumb:
Code:
Sub Macro2()
Application.ScreenUpdating = False

    With Sheets("Blad1")
       .[B2:B2210].Copy .[C2]
       .[C2:C2210].TextToColumns Space:=True
    End With
    
 Application.ScreenUpdating = True
 End Sub
Met vr gr
Jack
 
Laatst bewerkt:
Als het om 1 regel gaat
Met dank aan snb.

Code:
sub verdeel()
  [B2].resize(,5)=split([B2])
End Sub
 
Wel, wel snb grapjes op dit late uur :p:p
En om het helemaal te maken zoals Jack het vroeg
Code:
Sub verdeel()
  [[COLOR="Red"]C[/COLOR]2].Resize(, 5) = Split([B2])
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan