Avatar billede anneboeck Nybegynder
19. februar 2007 - 14:28 Der er 11 kommentarer og
1 løsning

Lister: Split tal og tekst indsat i samme celle

Jeg får udtræk fra et økonomisystem, som indsætter kontonr. og kontotekst i samme celle. Det er ikke muligt for mig med excel's importguide at skille tal og tekst ad som det er med fx kommaseparerede filer.

Nogen, der kan hjælpe?
Avatar billede excelent Ekspert
19. februar 2007 - 14:40 #1
må vi se et eks. på nr. og tekst
Avatar billede anneboeck Nybegynder
19. februar 2007 - 17:06 #2
Gerne:

      A                      B          C
120000 Omsætning          (105.000)
120005 Rabatter            25.000
130000 Vareforbrug          70.000

Jeg modtager filen som en csv-fil, når jeg lægger den ind i excel.
Avatar billede anneboeck Nybegynder
19. februar 2007 - 17:08 #3
Nå, det blev selvfølgelig skævt. Kontonr. og kontotekst er begge i kolonne A og beløb i kolonne B. Kolonne C er tom.

Jeg har brug for at få kontonr. og kontotekst i hver sin celle, dvs. kontonr. i A og teksten i B.
Avatar billede excelent Ekspert
19. februar 2007 - 17:29 #4
hvis kolonne >> B << er tom så prøv denne -

Sub tst()

rk = ActiveSheet.Cells(65000, 1).End(xlUp).Row
For t = 1 To rk
dele = Cells(t, 1)
tal = Mid(dele, 1, 6)
tekst = Trim(Mid(dele, Len(tal) + 1, Len(dele)))
Cells(t, 1) = tal
Cells(t, 2) = tekst
Next

End Sub
Avatar billede excelent Ekspert
19. februar 2007 - 17:55 #5
du kan også anvende
Data > Tekst til kolonner > Afgrænset
klik mellemrum som afgrænser
Avatar billede martin_moth Mester
19. februar 2007 - 18:24 #6
Du kan da sagtens bruge mellemrum som dataadskiller, når du importerer filen

Væld Demilited i stedet for fixed Width, tryk next, og vælg space som delimiter
Avatar billede anneboeck Nybegynder
20. februar 2007 - 09:48 #7
Hej begge,

Jeg har prøvet begge dele nu - og begge dele virker delvist.

Problemet ved mellemrumsadskilleren er, at den også putter hvert ord i en ny celle. Hvis jeg har flere ord og tekst i samme celle, skubber den altså alle kolonnerne til højre for at skabe plads til alle ordene.

Problemet ved makroen er, at der foran nogle af tallene er mellemrum og det ikke er det samme antal mellemrum. I nogle af talle indgår også et punktum. Eksempel:

  1600      CURRENT ASSETS   
  1650      INVENTORY   
    1660        INVENTORY   
    1660.2        IFO    72.416,13
    1660.3        IFO, OFF-HIRE    1.986,89

Nogle gode idéer?
Avatar billede martin_moth Mester
20. februar 2007 - 13:28 #8
Tjaa, du kan ændre din inputfil før du importere den.

Det er let gjort med fx. Textpad, hvor du kan lave en macro, der sætter et ; ind efter hvert tal. Herefter importere du med ; som adskiller.

Textpad er gratis.

Du kan prøve at maile txt-filen til mig martin_moth snabela yahoo.com så kan jeg se om det kan lade sig gøre. Hvis det kan, tager det max 10 sek ;o)
Avatar billede excelent Ekspert
20. februar 2007 - 19:04 #9
Hvis udtræk er i kolonne A og kolonne B er tom
tal skrives i kolonne A og tekst i kolonne B


Sub test()

For t = 1 To Cells(65000, 1).End(xlUp).Row
v = Cells(t, 1)
If v <> "" Then
tal = Val(v)
tekst = Trim(Mid(v, Len(tal) + 1, Len(v)))
Cells(t, 1) = tal
Cells(t, 2) = tekst
End If
Next

End Sub
Avatar billede anneboeck Nybegynder
22. februar 2007 - 17:25 #10
Excelent, det virker nu - om ikke perfekt, så ihvertfald, så jeg kan bruge det.
Martin, jeg kan desværre ikke udlevere mit materiale, da det er fortroligt. Men tak for tilbuddet :-) Pointene må retfærdigvis gå til excelent, men jeg skal have et svar, før jeg kan tildele dem. Tak for hjælpen, begge.
Avatar billede excelent Ekspert
22. februar 2007 - 17:33 #11
ok
hvordan skulle den i såfald være ?
Avatar billede anneboeck Nybegynder
23. februar 2007 - 12:50 #12
Som den ser ud nu, har den blot kopieret tallene ud og sat dem ind i kolonne A. Så nu har jeg kontonr. i kolonne A, og kontonr. og kontotekst i kolonne B. Det vigtigste var dog, at jeg fik kontonr. ud i særskilte celler for at kunne lave v-lookup, og det har jeg nu.
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