Avatar billede abiwerf Nybegynder
15. maj 2006 - 13:59 Der er 9 kommentarer

VBA kode til text to column i Excel 2002

Jeg har fået lavet en makro i et andet forum, som importer landeoplysninger fra en tekstfil.

Der er dog stadig et par ting, jeg mangler, før jeg kan tage løsningen i brug. Jeg har aldrig arbejdet med 'text to column' før, så jeg står på bar bund.

Men her er hvad jeg godt kunne tænke mig:

1) Jeg vil gerne ha' at beløb står under overskriften i kolonnen, i stedet for i én streng
2) Når jeg importerer tekstfilen, får jeg en "Run-time error '62': Input past end of file" fejl, og jeg ved ikke, hvordan jeg skal løse det
3) Jeg vil gerne ha' at hvert ark summerer beløbene, når import af tekstfilen er slut
If anyone can help me out I'd be most grateful!

Hvis der er nogen, der kan hjælpe, vil jeg være meget glad. Jeg har kopier af regnearket og tekstfilen, som kan vise lidt bedre, hvad det er, jeg mener.
Avatar billede martin_moth Mester
27. maj 2006 - 10:19 #1
Prøv at komme med et relevant udsnit af din kode. Txt to column - er det en sub du har fået skrevet, elelr er det en Excel/VBA funktion?


1) hvad er "beløb" osv. Er det et spørgsmål om, at splitte en string op i 2 strings?

2)eren er sikkert let at rette, når vi ser din kode - sikkert et loop, der løber for langt.

3) Det er også let. hvilke celler skal summeres? Er der lige mange linier hver gang, eller er det f.eks. celle A2-Axx, hvor xx varierer, der skal summeres?
Avatar billede abiwerf Nybegynder
27. maj 2006 - 14:35 #2
Jeg ved ikke hvilken del, der er relevant. Men jeg kan inkludere hele koden, som er skrevet i VBA?

1) Jeg vil gerne ha' detaljerne til at stå under kolonne-overskrifterne. Som det er nu, kommer hele strengen til at ligge i én kolonne

2) Skal jeg så klippe hele VBA koden ind?

3) Det er fx celle A2-AXX der skal summeres
Avatar billede martin_moth Mester
27. maj 2006 - 15:21 #3
1) Vi aner jo ikke hvad det er for detaljer du taler om. Er det en tekststring, du skal dele op, så noget står på en celle, noget andet i en anden celle? Hvad skal så stå hvor?

2) Nej, kun det der er relevant, der har med problemet at gøre

3) Hvis xx = fx. 30

    Dim SumRow As Long 'Antal rækker der skal summeres
    SumRow = 30
    Cells(SumRow + 1, 1).Select
    ActiveCell.Value = "=SUM(A1:A" & SumRow & ")"
Avatar billede martin_moth Mester
27. maj 2006 - 15:22 #4
Hov - jeg summerer fra A1, du vil have fra A2 - det ændrer du bare
Avatar billede abiwerf Nybegynder
27. maj 2006 - 16:03 #5
Men det kan jo være en smule svært at forklare, når man ikke kan vedhæftede filer til spørgsmålet. Men jo, der er tale om en tekststreng, der skal deles op, så noget står i en celle og noget andet i en anden kolonne.

Denne del af koden laver overskrifterne:

arrHeadings = Array("COUNTRY", "SW MEDIA&PUBS EXT", _
                        "SW MEDIA&PUBS INT", _
                        "NON-SW MEDIA&PUBS EXT", _
                        "NON-SW MEDIA&PUBS INT", _
                        "PCCO/SG&A", "TOTAL COST DKK", "TOTAL COST USD")

Og jeg vil tro, at det er denne del, der bestemmer, hvor data skal stå:

Range("B2:B" & LastRow).TextToColumns Destination:=Range("B2"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(Array(0, 1), Array(17, 1), Array(33, 1), Array(56, 1), Array(67, 1), _
        Array(83, 1), Array(100, 1), Array(117, 1)), DecimalSeparator:=",", _
        ThousandsSeparator:="."

Problemet er, at data ikke kommer til at stå i kolonnen under overskriften. Jeg har forsøgt at rette i Array, men det hjalp heller ikke.
Avatar billede martin_moth Mester
27. maj 2006 - 16:05 #6
jeg forstår ikek problemet - jeg er nok for dum :o(
Hvis de ikke kommer til at stå under overskrifterne, hvor kommer de så til at stå?
Avatar billede abiwerf Nybegynder
27. maj 2006 - 16:12 #7
Hele strengen, som fx kan se sådan ud:

75 RSPROD*382,35*0,00*0,00*0,00*0,00*382,35*62,18

kommer til at stå i kolonne B. Stjerne indikerer, hvor der skulle være adskilt.
Avatar billede martin_moth Mester
27. maj 2006 - 16:24 #8
brug split-kommandoen - brug * som splittrtegn
Avatar billede bak Forsker
27. maj 2006 - 18:47 #9
Prøv at sende mig din kode samt textfilen, så skal jeg se hvad jeg kan gøre

excel snabela tbdl.dk
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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