Microsoft Excel

Herbers Excel/VBA-Archiv

Daten ausgew. WS in 2. Datei zusammenführen


Betrifft: Daten ausgew. WS in 2. Datei zusammenführen von: MJ
Geschrieben am: 10.09.2019 13:26:18

Hallo zusammen,

ich kenne mich mit Excel aus und bekomme es auch hin ein unkompliziertes Makro zu schreiben, jedoch habe ich mich schon seit ein paar Tagen an meiner Aufgabe versucht und komme keinen Schritt weiter.

Ich habe folgende Aufgabe:

In einer Datei "Quelle" habe ich mehrere Tabellenblätter, die strukturiert sind:
- Tabelle_Info
- Tabelle_a1
- Tabelle_a2
- Tabelle_an
- Tabelle_b1
- Tabelle_b2
- Tabelle_bn
- Tabelle_Sonstiges
Ich benötige nur Werte aus den Tabellen_a*, dessen Aufbau immer gleich ist. Hier interessieren mich Informationen, die in folgenden Zellen stehen:
B2 (Titel)
AH8, G8, H8, O8, P8, Z8, AF8, AD8

Diese sollen in dieser Reihenfolge jeweils in einer Spalte, beginnend in Spalte C, in die Datei "Ziel" untereinander und jedes Tabellenblatt in die nächste Spalte geschrieben werden. D.h. Werte aus Tabelle_a1 sollen in Spalte C untereinander, aus Tabelle_a2 in Spalte D etc.

Der Pfad und Dateiname der Quelldatei werden in der Zieldatei im Tabellenblatt "Info" in Zelle D12 und E16 erzeugt. Dies soll dynamisch bleiben, da ich mehrere Quelldatei einzeln betrachten muss. Die Anzahl der Tabellen_a* ist dabei jedes mal anders.
Das Auslesen der Daten soll dann über einen Button in der Zieldatei starten und in ein bestehendes Tabellenblatt "Daten" ab Spalte C, Zeile 3 geschrieben werden.

Ich habe im Forum zu den einzelnen Punkten schon Lösungen gesehen. Beim Versuch aber diese zusammenzuführen, so dass alles als ganzes funktioniert, bin ich aber bisher immer gescheitert.

Kann mir jemand bei meinem Problem helfen?

Vielen Dank vorab!
Julia

  

Betrifft: AW: Daten ausgew. WS in 2. Datei zusammenführen von: 1712277.html
Geschrieben am: 10.09.2019 14:54:47

Hallo Julia,
ich denke, Du wist mit Deiner Anfrage mehr Erfolg haben,wenn Du eine oder in Deinem Fall zwei Beispielmappen hochlädst, in denen Du den Ist- und den Soll-Zustand darstellst.
Man hilft gerne, aber Mapoen nachbauen, ist zu aufwändig.
Viele Grüße
Regina

  

Betrifft: AW: Daten ausgew. WS in 2. Datei zusammenführen von: 1712278.html
Geschrieben am: 10.09.2019 15:01:41

Vielen Dank Regina für den Tipp. Es ist meine erste Anfrage in einem Forum. Ich werde morgen dazu ein Beispiel hochladen und meinen Code, den noch nicht fertig ist.

Viele Grüße
Julia

  

Betrifft: AW: Daten ausgew. WS in 2. Datei zusammenführen von: 1712411.html
Geschrieben am: 11.09.2019 10:15:19

So, ich habe nun die Beispieldateien angelegt: Ziel.xlsx und Quelle.xlsx

https://www.herber.de/bbs/user/131971.zip

In der Regel habe ich mehrere Quelldateien, die ich bearbeiten/ einlesen muss. Jedoch immer von einander getrennt. Diese unterscheiden sich aber auch in der Anzahl der Tabellenblätter. D.h. in einer anderen Quelldatei können dann 7 Tabellenblätter Tabelle_a* geben und nicht 3 wie im Beispiel.

Ich hoffe, dass hilft nun ein wenig, um mein Problem nachzuvollziehen.

Vielen Dank vorab für eure Mühen!

  

Betrifft: AW: Daten ausgew. WS in 2. Datei zusammenführen von: 1712423.html
Geschrieben am: 11.09.2019 10:44:49

Hi Julia,
ich habe die Tabellenblätter in der Quelle umbenannt (a1 nach vorne), lässt sich leichert abfragen.

Versuchs dann mal so:

Public Sub Import()
Dim obj_ziel As Workbook
Dim obj_quelle As Workbook
Dim obj_ziel_sheet As Worksheet
Dim obj_sheet As Object
Dim lng_spalte_ziel As Long

Set obj_ziel = ThisWorkbook
Workbooks.Open obj_ziel.Worksheets("Info").Range("D12") & _
obj_ziel.Worksheets("Info").Range("E16")
Set obj_quelle = ActiveWorkbook
Set obj_ziel_sheet = obj_ziel.Worksheets("Daten")
lng_spalte_ziel = obj_ziel_sheet.Cells(3, Columns.Count).End(xlToLeft).Column
For Each obj_sheet In obj_quelle.Worksheets
With obj_sheet
If Left(.Name, 1) = "a" Then
obj_ziel_sheet.Cells(3, lng_spalte_ziel) = .Range("B2")
obj_ziel_sheet.Cells(4, lng_spalte_ziel) = .Range("AH8")
' usw
lng_spalte_ziel = lng_spalte_ziel + 1
End If
End With
Next
obj_quelle.Close
End Sub

Gruß
Regina
  

Betrifft: AW: Daten ausgew. WS in 2. Datei zusammenführen von: 1712426.html
Geschrieben am: 11.09.2019 10:54:30

Vielen Dank für die schnelle Antwort Regina!

Ich werde es gleich mal ausprobieren und dann berichten :-)

Viele Grüße
Julia

Beiträge aus dem Excel-Forum zum Thema "Daten ausgew. WS in 2. Datei zusammenführen"