Avatar billede skaanning Seniormester
21. februar 2017 - 10:35 Der er 9 kommentarer og
1 løsning

skille navn i flere celler

Hej jeg har en kollonne der indeholder fuldt navn, nogle af navnene er adskildt med"," efter efternavn, men der er også navne der kun er adskildt med mellemrum og det er det der giver mig problemet for jeg kan ikke gøre det med tekst til kolonne.
så er der en der har en vba kode der kan løse det for mig vil jeg blive glad:)

Peter
Avatar billede phm1970 Mester
21. februar 2017 - 10:47 #1
Tekst til kolonner, sæt flueben i både komma og mellemrum og vupti :)
Avatar billede skaanning Seniormester
22. februar 2017 - 07:32 #2
ja det er rigtigt men så vil den skille ved alle mellemrum også og jeg vil kun have det adskildt i fornavne og efternavn altså i 2 kollonner:)

Peter
Avatar billede phm1970 Mester
22. februar 2017 - 08:43 #3
Ahh okai så der er flere fornavne hmm ja så er den ikke så nem :-) men en udfordring.
Avatar billede skaanning Seniormester
22. februar 2017 - 09:10 #4
Ja nemlig men jeg tænkte at den kunne løses med VBA:)
Avatar billede anedi Ekspert
22. februar 2017 - 14:23 #5
Er der altid kun et efternavn? Eller kan der både være flere efternavne og fornavne/mellemnavne?

Nedenstående formler virker, hvis du har navnet i celle A2 og der kun er et efternavn, eksempelvis: "Jensen, Lars Erik" eller "Jensen Lars Erik". De virker ikke hvis der findes navne af typen: "Knudsen Lund, Anders" eller "Knudsen Lund Anders".

Efternavn i B2: =IFERROR(IF(SEARCH(",";A2;1)>0;LEFT(A2;SEARCH(",";A2;1)-1);"");LEFT(A2;SEARCH(" ";A2;1)-1))
Fornavn i C2: =MID(A2;SEARCH(" ";A2;1)+1;100)

Vh
Anedi
Avatar billede skaanning Seniormester
23. februar 2017 - 08:18 #6
Dejligt det virker, men nu er det sådan at jeg skal opdatere denne fil mindst en gang om ugen så det ville være dejligt med en VBA formel der f.eks tog efternavnet og klippede det ud og placerede det i kolonnen før :)

Peter
Avatar billede Daffodil Professor
23. februar 2017 - 09:41 #7
Den her makro kan splitte din tekst, der er dog forbehold for hvorledes dine navne optræder. Den søger til første mellemrum og splitter der. Derefter tager den "komma" og retter teksten. Prøv den og lad mig høre om det virker.

Sub Splittekst()

Dim Navn1 As String
Dim Navn2 As String
Dim NN1 As String
Dim NN2 As String
Dim NN3 As String
Dim NN4 As String
Dim Lok1 As Integer
Dim Lok2 As Integer

WBL = ActiveSheet.UsedRange.Rows.Count
Range("a1:a1").Select

For MyA = 2 To WBL
Navn1 = Cells(MyA, 1).Value
Lok1 = InStr(Navn1, " ")
    If Lok1 > 0 Then
        NN1 = Left(Navn1, Lok1 - 1)
        NN2 = Mid(Navn1, Lok1 + 1)
        Cells(MyA, 2).Offset.Value = NN1
        Cells(MyA, 3).Offset.Value = NN2
        Else
    End If
Next MyA

For MyB = 2 To WBL
Navn2 = Cells(MyB, 1).Value
Lok2 = InStr(Navn2, ",")
    If Lok2 > 0 Then
        NN3 = Left(Navn2, Lok2 - 1)
        NN4 = Mid(Navn2, Lok2 + 2)
        Cells(MyB, 2).Offset.Value = NN3
        Cells(MyB, 3).Offset.Value = NN4
        Else
    End If
Next MyB

Range("a1:a1").Select

End Sub
Avatar billede skaanning Seniormester
23. februar 2017 - 11:55 #8
HEj den virker hvis navne er i kolonne a men ikke hvis at de står i kollonne c, selv om at jeg retter a1:a1 til C1:c1 er der andre steder der skal ændres for at det passer til når navnene står i en anden kollone?

Peter
Avatar billede Daffodil Professor
23. februar 2017 - 12:07 #9
Ja så skal der konsekvensrettes i formlerne.

Navn1 = Cells(MyA, 1).Value skal rettes til Navn1 = Cells(MyA, 3).Value

Tallet i parentesen angiver kolonnen 1 = A og 3 =C og så fremdeles

det samme gør sig gældene for hvor resultatet skal placeres

Cells(MyB, 2).Offset.Value = NN3, her bliver teksten sat i kolonne B, hvis det skal være kolonne D skal det være et 4 tal.
Avatar billede skaanning Seniormester
23. februar 2017 - 12:43 #10
Hej mange tak det var lige det der skulle til:)

Peter
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester