Hallo,
bin an einer Stelle angelangt, wo ich nicht mehr weiter komme. Hoffe, mir kann da jemand helfen.
Folgende Ausgangssituation:
Auf C: habe ich ein Verzeichnis, nennen wir es "Daten". In diesem Verzeichnis befinden sich ausschließlich ASCII-Dateien (.ASC, variable Anzahl max. 500). Diese ASCII-Dateien sind nicht durchnummeriert, haben also unterschiedliche Bezeichnungen. In den ASCII-Dateien befinden sich Informationen (in Spalten angeordnet) wie z.B. Datum, Dateiname,etc. Dann gibt es noch ein Verzeichnis auf C:, das heißt "Auswertung". Darin befinden sich Excel-Dateien, die zur Auswertung der ASCII-Dateien gebraucht werden.
Nun habe ich ein Makro programmiert (in Auswertung.xls), welches zuerst die Anzahl der ASCII-Dateien im Verzeichnis "Daten" ermittelt (dieser Wert wird in der Variablen i abgespeichert, z.B. 100) und anschließend wird eine Arbeitsmappe geöffnet (Überblick.xls) und die Zelle A1 in dieser Mappe markiert.
Hier der Code:
Function DZ(str) As Long
Dim DatNam As String
Dim n As Long
DatNam = Dir$(str & "\*.ASC")
Do While Len(DatNam) > 0
n = n + 1
DatNam = Dir$()
Loop
DZ = n
End Function
Sub Scan()
Dim i As Long
Dim Zelle As Range
Const Lw = "C:\"
Const Pfad1 = "C:\Auswertung"
Const Pfad2 = "C:\Daten"
Const Datei = "Auswertung.xls"
i = DZ(Pfad2)
MsgBox "Im Verzeichnis " & Pfad2 & " sind " & i & " Dateien"
ChDrive Lw
ChDir Pfad1
On Error Resume Next
Workbooks.Open Datei
Range("A1").Select
?'ChDrive Lw
?'ChDir Pfad2
?'For ...... next
End Sub
Ziel:
Im Verzeichnis "Daten" soll jetzt die erste ASCII-Datei geöffnet werden (von den insgesamt 100) und zwar mit Excel. Dann soll immer die Zelle A1 kopiert und in der Excelmappe "Überblick.xls" eingefügt werden. Diese Arbeitsmappe ist ja bereits offen und die Zelle A1 markiert. Anschließend soll die 1. ASCII-Datei geschlossen werden und die 2. ASCII-Datei geöffnet werden. Jetzt soll das gleiche passieren wie bei 1. Die Zelle A1 soll wieder kopiert werden, allerdings soll sie in "Überblick.xls" in A2 eingefügt werden. Und so soll das jetzt bis zur 100. ASCII-Datei ablaufen, so dass am Ende in der Arbeitsmappe "Überblick.xls" die Zellen A1 bis A100 mit einer Information versehen sind. Die Arbeitsmappe (Überblick.xls) bleibt dabei ständig geöffnet und soll auch geöffnet bleiben, nachdem alle Informationen übertragen wurden.
Frage:
Das größte Problem, das ich jetzt habe, ist das nacheinander Öffnen der ASCII-Dateien. Vor allem, weil diese nicht nummeriert sind. Ich habe bis jetzt nur die Anzahl der ASCII-Dateien im Ordner in der Variablen i. Wie muss ich jetzt weiter vorgehen? Wie ist der Code? Ist das, was ich bis jetzt gemacht habe, richtig? Das muss doch bestimmt über eine Schleife gemacht werden (for...next)? Aber wie genau?
Danke im voraus!
MfG Rambkü
bin an einer Stelle angelangt, wo ich nicht mehr weiter komme. Hoffe, mir kann da jemand helfen.
Folgende Ausgangssituation:
Auf C: habe ich ein Verzeichnis, nennen wir es "Daten". In diesem Verzeichnis befinden sich ausschließlich ASCII-Dateien (.ASC, variable Anzahl max. 500). Diese ASCII-Dateien sind nicht durchnummeriert, haben also unterschiedliche Bezeichnungen. In den ASCII-Dateien befinden sich Informationen (in Spalten angeordnet) wie z.B. Datum, Dateiname,etc. Dann gibt es noch ein Verzeichnis auf C:, das heißt "Auswertung". Darin befinden sich Excel-Dateien, die zur Auswertung der ASCII-Dateien gebraucht werden.
Nun habe ich ein Makro programmiert (in Auswertung.xls), welches zuerst die Anzahl der ASCII-Dateien im Verzeichnis "Daten" ermittelt (dieser Wert wird in der Variablen i abgespeichert, z.B. 100) und anschließend wird eine Arbeitsmappe geöffnet (Überblick.xls) und die Zelle A1 in dieser Mappe markiert.
Hier der Code:
Function DZ(str) As Long
Dim DatNam As String
Dim n As Long
DatNam = Dir$(str & "\*.ASC")
Do While Len(DatNam) > 0
n = n + 1
DatNam = Dir$()
Loop
DZ = n
End Function
Sub Scan()
Dim i As Long
Dim Zelle As Range
Const Lw = "C:\"
Const Pfad1 = "C:\Auswertung"
Const Pfad2 = "C:\Daten"
Const Datei = "Auswertung.xls"
i = DZ(Pfad2)
MsgBox "Im Verzeichnis " & Pfad2 & " sind " & i & " Dateien"
ChDrive Lw
ChDir Pfad1
On Error Resume Next
Workbooks.Open Datei
Range("A1").Select
?'ChDrive Lw
?'ChDir Pfad2
?'For ...... next
End Sub
Ziel:
Im Verzeichnis "Daten" soll jetzt die erste ASCII-Datei geöffnet werden (von den insgesamt 100) und zwar mit Excel. Dann soll immer die Zelle A1 kopiert und in der Excelmappe "Überblick.xls" eingefügt werden. Diese Arbeitsmappe ist ja bereits offen und die Zelle A1 markiert. Anschließend soll die 1. ASCII-Datei geschlossen werden und die 2. ASCII-Datei geöffnet werden. Jetzt soll das gleiche passieren wie bei 1. Die Zelle A1 soll wieder kopiert werden, allerdings soll sie in "Überblick.xls" in A2 eingefügt werden. Und so soll das jetzt bis zur 100. ASCII-Datei ablaufen, so dass am Ende in der Arbeitsmappe "Überblick.xls" die Zellen A1 bis A100 mit einer Information versehen sind. Die Arbeitsmappe (Überblick.xls) bleibt dabei ständig geöffnet und soll auch geöffnet bleiben, nachdem alle Informationen übertragen wurden.
Frage:
Das größte Problem, das ich jetzt habe, ist das nacheinander Öffnen der ASCII-Dateien. Vor allem, weil diese nicht nummeriert sind. Ich habe bis jetzt nur die Anzahl der ASCII-Dateien im Ordner in der Variablen i. Wie muss ich jetzt weiter vorgehen? Wie ist der Code? Ist das, was ich bis jetzt gemacht habe, richtig? Das muss doch bestimmt über eine Schleife gemacht werden (for...next)? Aber wie genau?
Danke im voraus!
MfG Rambkü