dat datei importieren in mustermappe

Bild

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

Bild


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


Bild


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


Bild


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

ot.


Bild


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


Bild


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


Bild


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


Bild


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


Bild


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


Bild


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


Bild


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


Bild


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


Bild


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


Bild


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


 Bild

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