Avatar billede l_domino_l Nybegynder
21. april 2006 - 13:33 Der er 6 kommentarer og
1 løsning

Hent fra Txt Fil til Excel

Er der en nemmere måde at hente noget fra en txt fil til et excel ark... end dette:

Dim linje1 As String
Dim linje2 As String
Dim linje3 As String
Dim linje4 As String
Dim linje5 As String
Dim linje6 As String
Dim linje7 As String
Dim linje8 As String
Dim linje9 As String
Dim linje10 As String
Dim linje11 As String
Dim linje12 As String
Dim linje13 As String
Dim linje14 As String
Dim linje15 As String
Dim linje16 As String
Dim linje17 As String
Dim linje18 As String
Dim linje19 As String
Dim linje20 As String
Dim linje21 As String
Dim linje22 As String
Dim linje23 As String

    Open "I:\MCAU\SALES\" & Sælger & "\MCAUtemp.txt" For Input As #1
        Input #1, linje1
        Input #1, linje2
        Input #1, linje3
        Input #1, linje4
        Input #1, linje5
        Input #1, linje6
        Input #1, linje7
        Input #1, linje8
        Input #1, linje9
        Input #1, linje10
        Input #1, linje11
        Input #1, linje12
        Input #1, linje13
        Input #1, linje14
        Input #1, linje15
        Input #1, linje16
        Input #1, linje17
        Input #1, linje18
        Input #1, linje19
        Input #1, linje20
        Input #1, linje21
        Input #1, linje22
        Input #1, linje23
    Close #1

    Worksheets("BA data").Range("F1") = linje1
    Worksheets("BA data").Range("F2") = linje2
    Worksheets("BA data").Range("F3") = linje3
    Worksheets("BA data").Range("F4") = linje4
    Worksheets("BA data").Range("F5") = linje5
    Worksheets("BA data").Range("F6") = linje6
    Worksheets("BA data").Range("F7") = linje7
    Worksheets("BA data").Range("F8") = linje8
    Worksheets("BA data").Range("F9") = linje9
    Worksheets("BA data").Range("F10") = linje10
    Worksheets("BA data").Range("F11") = linje11
    Worksheets("BA data").Range("F12") = linje12
    Worksheets("BA data").Range("F13") = linje13
    Worksheets("BA data").Range("F14") = linje14
    Worksheets("BA data").Range("F15") = linje15
    Worksheets("BA data").Range("F16") = linje16
    Worksheets("BA data").Range("F17") = linje17
    Worksheets("BA data").Range("F18") = linje18
    Worksheets("BA data").Range("F19") = linje19
    Worksheets("BA data").Range("F20") = linje20
    Worksheets("BA data").Range("F21") = linje21
    Worksheets("BA data").Range("F22") = linje22
    Worksheets("BA data").Range("F23") = linje23


Gerne hvor den bare bliver ved med at hente, til der ikke er flere linjer....
Avatar billede ldanielsen Nybegynder
21. april 2006 - 14:24 #1
Du kan åbne filen med Scripting.FilesystemObject, og så loop'e gennem linierne.

Eller du kan åbne filen som et ADO recordset med ADODB

Siger det dig noget?
Avatar billede l_domino_l Nybegynder
21. april 2006 - 14:25 #2
Nope! *LOL*
Avatar billede sjh Nybegynder
21. april 2006 - 14:34 #3
Du skal bare køre det som et Loop..

Dim i As Integer
Dim strLine As String
Dim intFree As Integer

  i = 0
  intFree = FreeFile
  Open "I:\MCAU\SALES\" & Sælger & "\MCAUtemp.txt" For Input As #intFree
    Do While Not EOF(intFree)
      i = (i + 1)
      If i <= 23 Then ' <- Henter kun de første 23 linjer..
        Line Input #intFree, strLine
        Worksheets("BA data").Range("F" & i) = strLine
      End If
    Loop
  Close #intFree
Avatar billede sjh Nybegynder
21. april 2006 - 14:35 #4
ha ha (til der ikke er flere linjer....) :D


Dim i As Integer
Dim strLine As String
Dim intFree As Integer

  i = 0
  intFree = FreeFile
  Open "I:\MCAU\SALES\" & Sælger & "\MCAUtemp.txt" For Input As #intFree
    Do While Not EOF(intFree)
      i = (i + 1)
      Line Input #intFree, strLine
      Worksheets("BA data").Range("F" & i) = strLine
    Loop
  Close #intFree
Avatar billede sjh Nybegynder
21. april 2006 - 14:38 #5
eller sådan hvis der skulle være en tom linje..

Dim i As Integer
Dim strLine As String
Dim intFree As Integer

  i = 0
  intFree = FreeFile
  Open "I:\MCAU\SALES\" & Sælger & "\MCAUtemp.txt" For Input As #intFree
    Do While Not EOF(intFree)

      Line Input #intFree, strLine
      If Trim$(Len(strLine)) > 0 Then ' <- Hvis der skulle være en tom linje..
        i = (i + 1)
        Worksheets("BA data").Range("F" & i) = strLine
      End If
    Loop
  Close #intFree
Avatar billede l_domino_l Nybegynder
21. april 2006 - 14:41 #6
Yes... takker!
Avatar billede sjh Nybegynder
21. april 2006 - 14:42 #7
Selv tak ;)
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
Kurser inden for grundlæggende programmering

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