Avatar billede spanking Nybegynder
18. oktober 2010 - 17:54 Der er 18 kommentarer og
1 løsning

Opdeling af kolonne med indhold, excel

Hej alle,

Jeg står i den situation, at jeg har et excel-ark med omkring 2500 linier, som jeg gerne vil slipper for at rette manuelt.

Arket består af 2 kolonner - D samt E.

Det er sådan, at der i kolonne D skal stå fornavn og i kolonne E, skal der stå efternavn. Problemet er bare, at hele navnet står i kolonne D. Derfor skal efternavnet altså rykkes over i kolonne E, og fornavnet skal blive stående i Kolonne D. Er er nogen, der ved, hvordan det gøres smartest, altså så det ikke skal rettes manuelt ?

Håber I kan hjælpe.

Mvh.
Avatar billede rosco Novice
18. oktober 2010 - 18:00 #1
Data -> Tekst til kolonner
Avatar billede spanking Nybegynder
18. oktober 2010 - 18:27 #2
Det løser ikke helt problemet :-( Den skal kunne genkende et mellerum, for ellers ser det ud som om, man bliver nød til at sette en vertikal linier, der hvor man vil have kolonnen splittet, og det er jo forskelligt fra navn til navn, alt afhængigt af hvor langt det er  !
Avatar billede store-morten Ekspert
18. oktober 2010 - 18:43 #3
Marker Kolonne D
Data --> Tekst til kolonner
Trin 1 Oprindelig dattype. Vælg: Afgrænset --> tryk: Næste
Trin 2 Afgrænsere. Vælg: Tabulator og Mellemrum --> tryk: Næste --> tryk: Udfør

Fornavn i D og efternavn flyttes E

Excel 2003
Avatar billede anlu Nybegynder
18. oktober 2010 - 18:46 #4
Kør denne kode (ret startRow, endRow og sheetName til, så det passer). Og tag lige en backup af dit ark først for en god ordens skyld :o)

Public Sub SplitNavn()
    Dim startRow As Integer
    Dim endRow As Integer
    Dim sheetName As String
    Dim r As Range
    Dim i As Integer
    Dim fullName As String
    Dim splitPos As Integer
   
    startRow = 1
    endRow = 3
    sheetName = "Sheet1"
   
    For i = startRow To endRow
        Set r = Worksheets(sheetName).Cells(i, 4)
        fullName = r.Value
        splitPos = InStrRev(fullName, " ")
        r.Value = Left(fullName, splitPos - 1)
        r.Offset(0, 1).Value = Mid(fullName, splitPos + 1)
    Next i
End Sub
Avatar billede anlu Nybegynder
18. oktober 2010 - 18:50 #5
Skulle måske tilføje: Koden splitter ved det sidste mellemrum, så folk der har mere end to navne får det sidste som efternavn og så flere fornavne, fx Hans Møller Hansen -> Hans Møller, Hansen.

P.s. Tekst til Kolonner vil splitte Hans Møller Hansen i 3 kolonner Hans, Møller, Hansen, så det duer ikke, hvis der er nogen der har mere end 2 navne.
Avatar billede spanking Nybegynder
18. oktober 2010 - 18:56 #6
Anlu -> hvor skal jeg skrive koden henne ? :)
Avatar billede spanking Nybegynder
18. oktober 2010 - 19:00 #7
Og jeg skal vel også vælge hvilken række den skal bruge ? og ikke kun row ?
Avatar billede anlu Nybegynder
18. oktober 2010 - 19:15 #8
Tryk Alt+F11 for at åbne VBA-editor.
Åbn det relevante ark ved at dobbeltklikke på den i vinduet til venstre.

Kopier koden ind.
Ret startRow (rækkenr. for første række), endRow (rækkenr. for sidste række) og sheetName til navnet på det ark hvor dine navne står.

Sæt cursoren på en blank linje og tryk på F5, så bør der komme et vindue hvor du kan vælge at køre koden.
Avatar billede store-morten Ekspert
18. oktober 2010 - 19:43 #9
anlu:
En lille bemærkning
Hvis der kun er et navn (for navn) eller en tom celle
så kommer: Invalid procedure call or argument
Og koden stopper.
Avatar billede spanking Nybegynder
18. oktober 2010 - 19:43 #10
anlu -> KAn ikke få det til at virke, men jeg bruger også mac ! Kan ikke finde ud af at åbne VBA-editoren !
Avatar billede anlu Nybegynder
18. oktober 2010 - 19:51 #11
hmm... jeg kender ikke opsætningen på mac. Kan du finde noget menu, der siger noget om macroer og måske noget med visual basic?

Og Store Morten har helt ret - jeg har ikke lavet fejlhåndtering, men antaget at der er mindst to navne i alle de relevante felter. Hvis det ikke er tilfældet kan vi lige tage det, når du har fundet ud af at få åbnet VBA-editoren.

(Og jeg aner ikke om der kan være forskel i VBA mellem windows og mac??)
Avatar billede spanking Nybegynder
18. oktober 2010 - 19:54 #12
Jeg vender lige tilbage, når jeg har fundet VBA editoren, ellers når jeg er ved min PC på mit arbejde :)
Avatar billede store-morten Ekspert
18. oktober 2010 - 19:59 #13
Højre klik på Ark fanen og vælg "Vis programkode"
Avatar billede spanking Nybegynder
18. oktober 2010 - 20:03 #14
Der er ikke den mulighed, når jeg trykker højre klikker der :(
Avatar billede rosco Novice
18. oktober 2010 - 20:22 #15
Avatar billede spanking Nybegynder
18. oktober 2010 - 21:29 #16
Anlu -> Jeg fandt VBA editoren. Tusind tak, din kode virkede også ! Tak til jer andre også :-)
Avatar billede spanking Nybegynder
18. oktober 2010 - 21:29 #17
Opretter du lige et svar?
Avatar billede anlu Nybegynder
18. oktober 2010 - 21:55 #18
Godt det lykkedes :o)
Avatar billede rosco Novice
19. oktober 2010 - 22:18 #19
Hvor var VBA editoren?
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
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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