Microsoft Excel

Herbers Excel/VBA-Archiv

dat datei importieren in mustermappe

    Betrifft: dat datei importieren in mustermappe von: elfi
    Geschrieben am: 07.10.2003 09:44:51

    Hallo Excelprofis,

    ich muß eine Datei täglich erstellen (bkr_01.xls … ).In diese werden 5 dat Datein ( dl03.0 , pps03.0 , ppr03.0 , dsv03.0 und dbh03.0 ) eingelesen .
    Alle 5 dat Dateien befinden sich im gleichen Pfad.
    Ich benötige von den dat Dateien nur die 5. Spalte.
    In der xls Datei sollen sie in den Spalten d,e,f,g,h, Jeweils zeile 11 bis 2987 eingefügt werden.
    Die xls Datei muß dann weggeschickt werden (per email)—dafür habe ich schon ein makro gefunden.
    Ich würde gern die bkr_01.xls als eine Art Mustermappe haben und die Datei , die weggemailt wird , als z.B. bkr_01_031007.xls ohne Makros gespeichert haben.

    Leider blicke ich da nicht durch und hoffe , dass mir jemand helfen kann.

    Habe in der Recherche einen Beitrag von Nepumuk gefunden der aber leider nicht passt.

    Viele Grüße
    Elfi

      


    Betrifft: AW: dat datei importieren in mustermappe von: Nike
    Geschrieben am: 07.10.2003 12:36:33

    Hi,
    zwar nicht schön aber selten und vielleicht sogar brauchbar ;-)

    Sub megaimport()
    Dim wkbBasis As Workbook
    Dim wkb1 As Workbook
    Dim wkb2 As Workbook
    Dim wkb3 As Workbook
    Dim wkb4 As Workbook
    Dim wkb5 As Workbook
    Dim wksBasis As Worksheet
    
    Set wkbBasis = ActiveWorkbook
    Set wksBasis = wkbBasis.Worksheets(1)
    Set wkb1 = Workbooks.Open(wkbBasis.Path & "/dl03.0.dat")
    With wkb1.Worksheets(1)
        .Range(.Cells(11, 5), .Cells(2987, 5)).Copy _
        wksBasis.Range(wksBasis.Cells(11, 4), wksBasis.Cells(2987, 4))
    End With
    wkb1.Close False
    
    Set wkb2 = Workbooks.Open(wkbBasis.Path & "/pps03.0.dat")
    With wkb2.Worksheets(1)
        .Range(.Cells(11, 5), .Cells(2987, 5)).Copy _
        wksBasis.Range(wksBasis.Cells(11, 5), wksBasis.Cells(2987, 5))
    End With
    wkb2.Close False
    
    Set wkb3 = Workbooks.Open(wkbBasis.Path & "/ppr03.0.dat")
    With wkb3.Worksheets(1)
        .Range(.Cells(11, 5), .Cells(2987, 5)).Copy _
        wksBasis.Range(wksBasis.Cells(11, 6), wksBasis.Cells(2987, 6))
    End With
    wkb3.Close False
    
    Set wkb4 = Workbooks.Open(wkbBasis.Path & "/dsv03.0.dat")
    With wkb4.Worksheets(1)
        .Range(.Cells(11, 5), .Cells(2987, 5)).Copy _
        wksBasis.Range(wksBasis.Cells(11, 7), wksBasis.Cells(2987, 7))
    End With
    wkb4.Close False
    
    Set wkb5 = Workbooks.Open(wkbBasis.Path & "/dbh03.0.dat")
    With wkb5.Worksheets(1)
        .Range(.Cells(11, 5), .Cells(2987, 5)).Copy _
        wksBasis.Range(wksBasis.Cells(11, 8), wksBasis.Cells(2987, 8))
    End With
    wkb5.Close False
    
    End Sub
    



    Bye

    Nike


      


    Betrifft: AW: dat datei importieren in mustermappe von: elfi
    Geschrieben am: 07.10.2003 14:10:59

    Hallo Nike,

    vielen Dank für Deine Hilfe.
    Aber leider mußte ich die Dateinamen ändern ( Dat Dateien kommen von externem Programm )
    Habe diese in Deinem Makro geändert und ich brauche die 3. Spalte der Dat Datein , leider
    zeigt das Makro nun nichts mehr an.
    Kannst Du bitte nochmal drüberschauen , wo der Fehler liegt?!

    Danke schön.
    Elfi


      


    Betrifft: falsch ! von: elfi
    Geschrieben am: 07.10.2003 14:13:51

    ot.


      


    Betrifft: AW: Dateiendung... von: Nike
    Geschrieben am: 07.10.2003 14:22:27

    Hi,
    du mußt halt auch noch die entsprechende Dateiendung hinten drann
    hängen, sonst findet Excel nix und öffnet entsprechend auch nix...

    Du mußt dir ggf. die Endungen im Explorer aktivieren um
    sie auch anzeigen zu lassen, sonst heißt z.B. test.xls auch nur test
    und würdest du dann versuchen test zu öffnen, würde auch nix passieren

    Bye

    Nike


      


    Betrifft: AW: Dateiendung... von: elfi
    Geschrieben am: 07.10.2003 14:32:50

    Hallo Nike ,

    Danke , aber leider war es das auch nicht.
    Die Dateien öffnen sich mit und ohne .dat Endung.
    Nur es werden keine Werte aus der Dat Datei übernommen - oder andere Spalten , welche ohne Eintragung sind. In Spalte C Zeile 7 beginnen die Werte.
    Danke Nike

    Elfi


      


    Betrifft: AW: Dateiendung... von: Nike
    Geschrieben am: 07.10.2003 15:43:58

    Hi,
    ja klar wird nix übernommen,
    der Code übernimmt nur was aus Spalte 5, wie von dir beschrieben,
    da mußt du schon hier anfassen und z.B. so ändern:

    With wkb1.Worksheets(1)
    .Range(.Cells(7, 3), .Cells(2987, 3)).Copy _
    wksBasis.Range(wksBasis.Cells(11, 4), wksBasis.Cells(2987, 4))
    End With

    .Cells(7, 3) entspricht C7

    Bye

    Nike


      


    Betrifft: AW: Dateiendung... von: elfi
    Geschrieben am: 08.10.2003 07:54:27

    Hallo Nike,

    sorry , ich bin zu dumm.

    Sub megaimport()
    Dim wkbBasis As Workbook
    Dim wkb1 As Workbook
    Dim wkb2 As Workbook
    Dim wkb3 As Workbook
    Dim wkb4 As Workbook
    Dim wkb5 As Workbook
    Dim wksBasis As Worksheet
    
    Set wkbBasis = ActiveWorkbook
    Set wksBasis = wkbBasis.Worksheets(1)
    Set wkb1 = Workbooks.Open(wkbBasis.Path & "/dl03.0.dat")
    With wkb1.Worksheets(1)
        .Range(.Cells(7, 3), .Cells(2987, 3)).Copy _
        wksBasis.Range(wksBasis.Cells(11, 4), wksBasis.Cells(2987, 4))
    End With
    wkb1.Close False
    
    Set wkb2 = Workbooks.Open(wkbBasis.Path & "/erz03.0.dat")
    With wkb2.Worksheets(1)
        .Range(.Cells(7, 3), .Cells(2987, 3)).Copy _
        wksBasis.Range(wksBasis.Cells(11, 5), wksBasis.Cells(2987, 5))
    End With
    wkb2.Close False
    
    Set wkb3 = Workbooks.Open(wkbBasis.Path & "/einsp03.0.dat")
    With wkb3.Worksheets(1)
        .Range(.Cells(7, 3), .Cells(2987, 3)).Copy _
        wksBasis.Range(wksBasis.Cells(11, 6), wksBasis.Cells(2987, 6))
    End With
    wkb3.Close False
    
    Set wkb4 = Workbooks.Open(wkbBasis.Path & "/ms03.0.dat")
    With wkb4.Worksheets(1)
        .Range(.Cells(7, 3), .Cells(2987, 3)).Copy _
        wksBasis.Range(wksBasis.Cells(11, 7), wksBasis.Cells(2987, 7))
    End With
    wkb4.Close False
    
    Set wkb5 = Workbooks.Open(wkbBasis.Path & "/gl03.0.dat")
    With wkb5.Worksheets(1)
        .Range(.Cells(7, 3), .Cells(2987, 3)).Copy _
        wksBasis.Range(wksBasis.Cells(11, 8), wksBasis.Cells(2987, 8))
    End With
    wkb5.Close False
    
    End Sub
    



    Habe den Code so geändert , er öffnet alle 5 Dateien ohne irgendetwas zu speichern(in xls Datei)
    Also mann sieht in der xls Datei nichts !

    Kannst Du mir bitte nochmal helfen?

    Danke
    Elfi


      


    Betrifft: AW: Dateiendung... von: Nike
    Geschrieben am: 08.10.2003 08:50:55

    Hi,

    dann pack mal alle 5 Dateien in ein .zip Archiv und lass mal schaun...
    Oben auf durchsuchen und dann auf "Datei zum Server" klicken um die Datei hochzuladen.

    So auf Zuruf fällt mir sonst nix ein...

    Bye

    Nike


      


    Betrifft: AW: Dateiendung... von: elfi
    Geschrieben am: 08.10.2003 09:10:04

    Hallo Nike ,

    Vielen Dank für Deine Hilfe .
    Die Dateien sind in https://www.herber.de/bbs/user/1322.zip

    Ich muß jetzt leider zum Zahnarzt , bin in ca. 1,5 Stunden zurück .

    Vielen Dank.

    Elfi


      


    Betrifft: AW: Dateiendung... von: Nike
    Geschrieben am: 08.10.2003 10:35:43

    Hi,
    abgesehen davon, das die Dateien anders heißen
    und nicht gesplittet importiert wurden,
    sollte es jetzt so funken...

    https://www.herber.de/bbs/user/1323.zip

    Bye

    Nike


      


    Betrifft: einfach genial , Vielen Dank Nike !!!! von: elfi
    Geschrieben am: 08.10.2003 10:50:25

    Hallo Nike ,

    es funktioniert !


    VIELEN DANK !



    Alles Gute

    Elfi


      


    Betrifft: AW: na, das freut ein denn ja auch ;-) von: Nike
    Geschrieben am: 08.10.2003 12:32:30

    Hi Elfi,
    freut mich ja, das es funkt.

    Bitte beachte es werden nur 3000 Sätze kopiert,
    wenn es also mal mehr werden sollten, mußt du den Code anpassen...

    Ansonsten viel Spaß damit.

    Bye

    Nike


      


    Betrifft: AW: dat datei importieren in mustermappe von: elfi
    Geschrieben am: 07.10.2003 14:11:37

    Hallo Nike,

    vielen Dank für Deine Hilfe.
    Aber leider mußte ich die Dateinamen ändern ( Dat Dateien kommen von externem Programm )
    Habe diese in Deinem Makro geändert und ich brauche die 3. Spalte der Dat Datein , leider
    zeigt das Makro nun nichts mehr an.
    Kannst Du bitte nochmal drüberschauen , wo der Fehler liegt?!


    Sub megaimport()
    Dim wkbBasis As Workbook
    Dim wkb1 As Workbook
    Dim wkb2 As Workbook
    Dim wkb3 As Workbook
    Dim wkb4 As Workbook
    Dim wkb5 As Workbook
    Dim wksBasis As Worksheet
    
    Set wkbBasis = ActiveWorkbook
    Set wksBasis = wkbBasis.Worksheets(1)
    Set wkb1 = Workbooks.Open(wkbBasis.Path & "/dl03.0")
    With wkb1.Worksheets(1)
        .Range(.Cells(7, 3), .Cells(2987, 5)).Copy _
        wksBasis.Range(wksBasis.Cells(11, 4), wksBasis.Cells(2987, 4))
    End With
    wkb1.Close False
    
    Set wkb2 = Workbooks.Open(wkbBasis.Path & "/erz03.0")
    With wkb2.Worksheets(1)
        .Range(.Cells(7, 3), .Cells(2987, 5)).Copy _
        wksBasis.Range(wksBasis.Cells(11, 5), wksBasis.Cells(2987, 5))
    End With
    wkb2.Close False
    
    Set wkb3 = Workbooks.Open(wkbBasis.Path & "/einsp03.0")
    With wkb3.Worksheets(1)
        .Range(.Cells(7, 3), .Cells(2987, 5)).Copy _
        wksBasis.Range(wksBasis.Cells(11, 6), wksBasis.Cells(2987, 6))
    End With
    wkb3.Close False
    
    Set wkb4 = Workbooks.Open(wkbBasis.Path & "/ms03.0")
    With wkb4.Worksheets(1)
        .Range(.Cells(7, 3), .Cells(2987, 5)).Copy _
        wksBasis.Range(wksBasis.Cells(11, 7), wksBasis.Cells(2987, 7))
    End With
    wkb4.Close False
    
    Set wkb5 = Workbooks.Open(wkbBasis.Path & "/gl03.0")
    With wkb5.Worksheets(1)
        .Range(.Cells(7, 3), .Cells(2987, 5)).Copy _
        wksBasis.Range(wksBasis.Cells(11, 8), wksBasis.Cells(2987, 8))
    End With
    wkb5.Close False
    
    End Sub
    

    Danke schön.
    Elfi


     

    Beiträge aus den Excel-Beispielen zum Thema " dat datei importieren in mustermappe"