Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
628to632
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
628to632
628to632
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

==> an IngGI / Info. aus geschl. Dateien

==> an IngGI / Info. aus geschl. Dateien
27.06.2005 16:59:13
Ingo
Hallo Ingolf,
habe folgendes Makro jetzt mal eingepflegt und das Verzeichnis geändert.
Erstens:
Er bleibt in der Übersicht nach dem Ausführen auf der Ausgangsposition stehen und macht garnichts. Liegt es daran, daß ich bei "Range" die zu kopierende Zelle in Hochzeichen gestellt habe...?
Zweitens:
Um alle Dateien aus dem Ordner zu erwischen muß ich doch nach dem \06-2005\ ein (") setzen, oder...?
Vielen Dank für Hilfe...
Gruß, Ingo
---------------------------------

Sub Uebersicht()
Dim fso As Object, fo As Object, f As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set fo = fso.GetFolder("\\eyfps\home\Projektplanung\Projekte\Angebote\06-2005\")
On Error GoTo Fehler
Application.ScreenUpdating = False
For Each f In fo.Files
Workbooks.Open (f.FullName)
'Übersicht nächste freie Zeile, Spalte A/Kd-Nr.
ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Offset(1, 0) = _
Workbooks(f.Name).Sheets(1).Range("B2")
'Übersicht nächste freie Zeile, Spalte B/Kd-Name
ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Offset(1, 1) = _
Workbooks(f.Name).Sheets(1).Range("B3")
'Übersicht nächste freie Zeile, Spalte C/Kd-Ort
ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Offset(1, 2) = _
Workbooks(f.Name).Sheets(1).Range("B4")
'usw. für die restlichen Daten
Workbooks(f.Name).Close False
Next f
Fehler:
Application.ScreenUpdating = True
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ==> an IngGI / Info. aus geschl. Dateien
27.06.2005 17:42:00
IngGi
Hallo Ingo,
zu 2.: Die Pfadangabe muss in doppelte Anführungszeichen. Das ist korrekt.
zu 1.: Habe 2 Fehler korrigiert. Einmal bei Workbooks.Open und dann noch ab dem zweiten ThisWorkbook... bei ...Offset...
Hier noch mal der komplette korrigierte Code.

Sub Uebersicht()
Dim fso As Object, fo As Object, f As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set fo = fso.GetFolder("\\eyfps\home\Projektplanung\Projekte\Angebote\06-2005\")
On Error GoTo Fehler
'Application.ScreenUpdating = False
For Each f In fo.Files
Workbooks.Open (f.Path)
'Übersicht nächste freie Zeile, Spalte A/Kd-Nr.
ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Offset(1, 0) = _
Workbooks(f.Name).Sheets(1).Range("B2")
'Übersicht nächste freie Zeile, Spalte B/Kd-Name
ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Offset(0, 1) = _
Workbooks(f.Name).Sheets(1).Range("B3")
'Übersicht nächste freie Zeile, Spalte C/Kd-Ort
ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Offset(0, 2) = _
Workbooks(f.Name).Sheets(1).Range("B4")
'usw. für die restlichen Daten
Workbooks(f.Name).Close False
Next f
Fehler:
Application.ScreenUpdating = True
End Sub

Gruß Ingolf
Anzeige
AW: ==> an IngGI / Info. aus geschl. Dateien
28.06.2005 08:04:23
Ingo
Guten morgen Ingolf,
habe das Makro eingespielt und es werden auch einige der gewollten Dateien geöffnet. In die Übersicht wird leider nichts hineingeschrieben und dann stürtzt Excel ab....
Mir ist aufgefallen, daß wir bei "Range" immer ("A65536") angeben.
Es soll in der Übersicht später aber wie folgt aussehen:
Spalte A = Kunden-Nr. \ Spalte B = Kunden-Name \ Spalte C = Ort
================================================================
123456 \ Schmitt \ Düsseldorf
usw. \ usw. \ usw.
Müsste da nicht bei Range die entsprechend neue Spalte eingesetzt werden?
Gruß, Ingo
Anzeige
AW: ==> an IngGI / Info. aus geschl. Dateien
28.06.2005 10:46:51
IngGi
Hallo Ingo,
bei mir läuft das Makro einwandfrei. Zur Funktionsweise des Befehls

ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Offset(1, 0) = _
Workbooks(f.Name).Sheets(1).Range("B2")

Mit "ThisWorkbook" landest du bei der Arbeitsmappe, die dieses Makro enthält.
Dann landest du mit "Sheets(1)" beim ersten Blatt dieser Arbeitsmappe.
Dann landest du mit "Range("A65536")" in der letzten Zelle der Spalte A.
Dann suchst du mit "End(xlUp)" in der Spalte A von unten nach oben die erste Zelle, in der etwas drin steht (vorausgesetzt in A65536 steht nichts drin, sonst würdest du eben die erste Zelle, in der nichts drinsteht finden).
Schließlich landest du mit "Offset(1, 0)" eine Zeile weiter unten, also in der ersten Zelle der Spalte A, in der nichts drinsteht.
Diesbezüglich eine Vermutung. Steht in deiner Tabelle "Übersicht" vielleicht unterhalb des Bereiches, in den die Daten geschrieben werden sollen, etwas drin. Geh doch mal in die erste leere Zelle der Spalte A und drücke nacheinander die Tasten "Ende" und "Pfeil nach unten". Damit landest du entweder in A65536. Dann steht in Spalte A tatsächlich nichts drin. Oder du landest bei der ersten beschriebenen Zelle in Spalte A unterhalb der gewählten Zelle. Vielleicht findest du die Einträge dort.
Zweite Möglichkeit: Deine Tabelle "Übersicht" ist nicht das erste Blatt deiner Arbeitsmappe. Passe das im obigen Programmbefehl bei Sheets(?) an.
Gruß Ingolf
Anzeige
AW: ==> an IngGI / Info. aus geschl. Dateien
28.06.2005 11:41:21
Ingo
Hallo Ingolf,
der erste Teilerfolg ist geschafft...!!!
Habe gerade bemerkt, daß ich in den Angebots-Dateien auf Sheet(2) zugreife und siehe da, die ersten 3 Angebote schreibt er auch brav in die Auswertung rein...!!!!
Trotzdem steigt er bei dem 4. Angebot aus! Versteh das nicht...
Kann das an der Version liegen (97 SR-2)? Oder daran, daß ich in einem Firmen-Netzwerk arbeite...? Oder am Speicher...?
Gruß, Ingo

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige