18. oktober 2010 - 17:54Der 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 ?
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 !
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
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
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.
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.
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??)
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.