Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
252to256
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
252to256
252to256
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

100 Dateien - 1Makro

100 Dateien - 1Makro
11.05.2003 12:52:17
Achill
Hallo,

Ich habe folgendes Problem:
Ich habe etwa 100 Excel Dateien mit verschiedenen Namen. Alle Dateien haben identisch benannte Arbeitsblaetter auf denen in der selben Zelle ein bestimmter Wert steht.
Ich muss nun diesen einen Wert in eine Gesamtdatei kopieren. Da ich aber nicht manuell alle 100 Dateien oeffnen will, den Wert kopieren und in der Gesamt Datei einfuegen will, dachte ich mir das diese Aufgabe auch ein Makro erfuellen koennte.
Alle Dateien stehen in einem Verzeichnis.
Am Ende sollten in der Gesamtdatei in den Zeilen A1-A100 der Name der Importquelle und in B1-B100 der gesuchte Wert stehen

Waere toll wenn ihr mir helfen koenntet!

Gruss
Achill

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: 100 Dateien - 1Makro
11.05.2003 13:08:44
Ramses

Hallo,

probier das mal.
Die einzelnen Sachen musst du halt anpassen:


Sub Dateien_in_eine_Tabelle_zusammenfuehren()
Dim Datei As String, Pfad As String
Dim wkb As String, wks As String
Dim myCounter As Integer
myCounter = 1
wkb = ActiveWorkbook.Name
wks = ActiveSheet.Name
Pfad = "C:\Dein Verzeichnis\" 'Mit Backslash !!
Datei = Dir(Pfad & "*.xls")
Application.ScreenUpdating = False
Do While Datei <> ""
    Workbooks.Open Pfad & Datei
    'A1 ist der Wert wo deine Daten stehen
    Range("A1").Copy Destination:=Workbooks(wkb).Worksheets(wks).Range("A" & myCounter)
    Workbooks(wkb).Worksheets(wks).Range("B" & myCounter) = ActiveWorkbook.Name
    myCounter = myCounter + 1
    ActiveWorkbook.Close False
    Datei = Dir()
Loop
Application.ScreenUpdating = True
End Sub 
     Code eingefügt mit Syntaxhighlighter 1.16


Gruss Rainer


Anzeige
Re: 100 Dateien - 1Makro
11.05.2003 13:08:45
Ramses

Hallo,

probier das mal.
Die einzelnen Sachen musst du halt anpassen:


Sub Dateien_in_eine_Tabelle_zusammenfuehren()
Dim Datei As String, Pfad As String
Dim wkb As String, wks As String
Dim myCounter As Integer
myCounter = 1
wkb = ActiveWorkbook.Name
wks = ActiveSheet.Name
Pfad = "C:\Dein Verzeichnis\" 'Mit Backslash !!
Datei = Dir(Pfad & "*.xls")
Application.ScreenUpdating = False
Do While Datei <> ""
    Workbooks.Open Pfad & Datei
    'A1 ist der Wert wo deine Daten stehen
    Range("A1").Copy Destination:=Workbooks(wkb).Worksheets(wks).Range("A" & myCounter)
    Workbooks(wkb).Worksheets(wks).Range("B" & myCounter) = ActiveWorkbook.Name
    myCounter = myCounter + 1
    ActiveWorkbook.Close False
    Datei = Dir()
Loop
Application.ScreenUpdating = True
End Sub 
     Code eingefügt mit Syntaxhighlighter 1.16


Gruss Rainer


Anzeige
Re: 100 Dateien - 1Makro
11.05.2003 13:25:34
Achill

Danke Rainer!
Die Datei hat mehrere Arbeitsblaetter, nur von Blatt "Gehalt" soll es den Wert in A1 rauslesen. Wo muss ich "Gehalt" einfuegen?
Ausserdem hat das Makro die Werte in eine beliebige Datei die ich gerade offen hatte eingefuegt. Es sollte alles in eine definierte Datei gehen.

Vielen Dank im Vorraus,
Achill

Re: 100 Dateien - 1Makro
11.05.2003 13:38:32
Ramses

Hallo,

Es wäre schön wenn man sowas vorher wüsste.
Die Datei wo die Daten hingeschrieben werden sollen, muss geöffnet und aktiv sein.

wks = "Deine Tabelle"

wo die Daten hin sollen, und ersetze

Range("A1").Copy

mit

Worksheets("Gehalt").Range("A1").Copy

Gruss Rainer

Anzeige
Re: 100 Dateien - 1Makro
11.05.2003 14:47:53
Achill

Hallo Rainer,

Sorry dass ich dir unnoetig Arbeit verursacht habe.
Ich habe deine vorgeschlagenen Aenderungen vorgenommen, bekomme jetzt aber eine Fehlermeldung: Subscript out of range

Wo hakt es noch?

Danke,
Achill

Re: 100 Dateien - 1Makro
11.05.2003 14:53:12
Achill

Hallo Rainer,

Sorry dass ich dir unnoetig Arbeit verursacht habe.
Ich habe deine vorgeschlagenen Aenderungen vorgenommen, bekomme jetzt aber eine Fehlermeldung: Subscript out of range

Wo hakt es noch?

Danke,
Achill

Re: 100 Dateien - 1Makro
11.05.2003 16:26:47
Ramses

Hallo,

Es geht nicht um unnötig Arbeit, aber man beschäftigt sich mit einem Problem und wenn zusätzliche Anforderungen kommen, ist es häufig so, dass die gesamte Lösung dann eventuell nicht mehr verwendet werden kann.
Deshalb von Anfang an sagen was man braucht ;-))

Ich weiss nicht was du jetzt hast. Zeig mal den Code, dann finden wir eine Lösung.

Gruss Rainer

Anzeige
Re: 100 Dateien - 1Makro
12.05.2003 07:08:22
Achill

Hallo Rainer,

Ich hab mich schon bemueht mein Problem ganz zu erfassen, aber wenn man in dem Bereich nicht so erfahren ist faellt einem das gar nicht so leicht ;-)
Mein Code sieht so aus:
Sub Dateien_in_eine_Tabelle_zusammenfuehren()
Dim Datei As String, Pfad As String
Dim wkb As String, wks As String
Dim myCounter As Integer
myCounter = 1
wkb = ActiveWorkbook.Name
wks = ActiveSheet.Name
Pfad = "C:\test\" 'Mit Backslash !!
Datei = Dir(Pfad & "*.xls")
Application.ScreenUpdating = False
Do While Datei <> ""
Workbooks.Open Pfad & Datei
'A1 ist der Wert wo deine Daten stehen
Worksheets("Salary").Range("D15").Copy Destination:=Workbooks(wkb).Worksheets(wks).Range("A" & myCounter)
Workbooks(wkb).Worksheets(wks).Range("B" & myCounter) = ActiveWorkbook.Name
myCounter = myCounter + 1
ActiveWorkbook.Close False
Datei = Dir()
Loop
Application.ScreenUpdating = True
End Sub

Ich bekomme immer noch den Runtime Error 9 Subscript out of range.
Nochmals vielen Dank fuer deine Hilfe!

Gruss
Achill

Anzeige
Re: 100 Dateien - 1Makro
12.05.2003 12:57:51
Ramses

Hallo,

wenn du das Makro laufen lässt, welche Zeile wird dann markiert ?
Ich kann mir nur vorstellen dass die Tabelle in der Arbeitsmappe nicht existiert.

Alternativ probier mal folgendes:

Dieser Code ist ebenfalls getestet und funktioniert.

Gruss Rainer


Re: 100 Dateien - 1Makro
14.05.2003 09:14:47
Achill

Nochmals Danke fuer deine Hilfe Rainer!
Das Programm laeuft jetzt, aber ich bekomme in Spalte B die Namen der geoeffneten Dateien z.B. Hans.xls aber der Wert aus Zelle D15 aus ahns.xls taucht nicht auf.
Ich hab rausgefunden dass das Programm jedes Mal den Wert aus Zelle D15 der Sammelarbeitsmappe kopiert, und nicht den Wert aus hans.xls und heinz.xls.
Leider sind meine VBA Kenntnisse zu duerftig um das selbst zu korrigieren... :-(

Gruss,
Achill

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige