29. januar 2008 - 11:54Der er
7 kommentarer og 1 løsning
Fra fil til Excel via makro
Hej,
Jeg sidder med et problem jeg ikke kan finde en løsning på. Jeg skal have noget simpel kommasepareret data fra en .txt fil over i et Excel ark. Der vil være variende mængde af data, men det vi lnaturligvis altid være i samme format. Det må meget gerne være vha. makro, da jeg har leget en del med disse, men hvis der er nogen som har nogle geniale ideer er jeg lutter øre. Håber 45 point er nok. Ved jo ikke helt hvor svært det her er for andre end mig ;-)
Public Sub AflæsTxtFil() Dim FilNummer As Integer Dim FilNavn As String Dim lText As String FilNummer = FreeFile FilNavn = "c:\temp\minfil.txt" Open FilNavn For Input As #FilNummer Do Line Input #FilNummer, lText ' Gør et eller andet med lText Loop Until EOF(FilNummer) Close #FilNummer End Sub
Den aflæser en linje af gangen, indtil der ikke er flere linjer.
Har fundet en løsning på det med separering af data v. komma. Men forstår stadig ikke hvorfor den indsætter disse 2 symboler foran den første linie. epimetheus, hvis du har et svar så er jeg meget taknemlig, ellers så bare smid et svar og du får point.
Her er min komma separator. Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _ Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _ :=Array(Array(1, 2), Array(2, 2), Array(3, 2)), TrailingMinusNumbers:=True Ja.. det er en optaget Makro :-)- men det virker
Det er fordi filen <oprindeligt> er blevet skrevet/outputtet som "Little Endian UTF-16". ÿþ er BOM-karakter til denne encoding (det er "zero-width no-break space"). Som bare bliver fortolket anderledes (som ÿþ) af VBA der læser Unicode. Se mere her: http://en.wikipedia.org/wiki/Byte_Order_Mark.
Synes godt om
Ny brugerNybegynder
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.