folgendes Problem:
Ich habe es soweit hin bekommen, dass ich mit Hilfe eines buttons meherer Dateien öffnen kann. Jetzt möchte ich, beim klicken auf einen weiteren Button dass ein weiteres Makro aktiviert wird welches Daten aus den Mappen sammelt und in ein Neues Dokument kopiert.
Z.B.
Drei Mappen mit beliebigen Namen ("A", "B", "C") die über den 1. button geöffnet werden.
Ausgelöst durch den 2. Button: erstellen eines Dokumentes ("Bericht"), wechsel zu "A", Inhalt der Zelle D22 lesen, wechsel zu "Bericht", in A1 einfügen, wechsel zu "B", Inhalt der Zelle D22 lesen, wechsel zu "Bericht", in A2 einfügen, wechsel zu "C", D22 lesen, wechsel zu "Bericht", einfügen in A3.
Jetzt zu "A" wechseln und den Inhalt der Zelle D23 lesen und in A4 kopieren.
Weil das nicht reicht, variiert die Zahl der Dokumente auch noch (mal ABC, mal ABCDE)
Jetzt noch eine weitere Schwirigkeit, Die Dokumente ("A", "B", "C") haben mehrere Tabellen deren Namen aber nicht variabel sind und somit teil des Makros seien können. ("Tabelle1", "Tabelle2", "Tabelle3")
Wechsel zu Dokument "A" wechsel zu Tabelle 2 ("Tabelle2"), lesen des Inhaltes von D22, wechsel zu Dokument "Bericht", einfügen in A30 (weiter wie oben). Im Dokument "Bericht" soll alles in eine Tabelle...
Leider überfordert es meine nicht guten VBA-Kenntnisse...
Irgendwie müssen die Dokumente beim öffnen ja einem Synonym/Alias zugewiesen werdenzuweisen damit sich das Makro auf das Sysnonym beziehen kann.
Für mich sind es zu viele unbekannte, Anzahl, Namen, dann der Wechsel zwischen den Tabellen...
Mein erster Button ist wie folgt programmiert...
-----------------------------------------
Private Sub importieren_Click()
Dim varRetVal As Variant
Dim n As Integer
varRetVal = Application.GetOpenFilename( _
FileFilter:="Microsoft Excel-Dateien (*.xls), *.xls", _
Title:="Eine oder mehrere Dateien zum Öffnen auswählen", _
MultiSelect:=True)
If IsArray(varRetVal) Then
On Error Resume Next
For n = LBound(varRetVal) To UBound(varRetVal)
Workbooks.Open varRetVal(n)
Next
On Error GoTo 0
End If
End Sub
-----------------------------------------
Vielen Dank im Voraus
Florian