Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1336to1340
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
Inhaltsverzeichnis

Makro, 3 Blätter, diversen Sheets, addieren

Makro, 3 Blätter, diversen Sheets, addieren
08.11.2013 08:37:14
Michael
Hallo!
Ich habe folgendes Problem: Ich habe drei Excel-Dateien, welche alle gleich aufgebaut sind und aus mehreren Sheets bestehen. Die Namen der Dateien werden monatlich geändert.
Ich brauche ein Makro, welche alle geöffneten Blätter, Sheet für Sheet zu einem einzelnen Blatt zusammenaddiert.
Beispiel:
Datei 1, Sheet 1, Zeile 5 = 3
Datei 2, Sheet 1, Zeile 5 = 8
Datei 2, Sheet 1, Zeile 5 = 11
Ergebnis Datei "Zusammengefasst", Sheet 1, Zeile 5 = 22
Zwischendurch findet auch sich Text ein (Überschrift, Zeilenbeschriftung, etc.)
Habt ihr eine Lösung für mich?
Danke,
Michael

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Beispielarbeitmappe? oT
08.11.2013 08:44:45
JoWE

AW: Beispielarbeitmappe? oT
08.11.2013 10:04:32
JoWE
Hallo Michael,
ich sehe Deine Arbeitsmappe komme aber so nicht weiter.
Wo genau stehen denn nun Daten in den identischen anderen Arbeitsmappen.
Die Informationen:
Datei 1, Sheet 1, Zeile 5 = 3
Datei 2, Sheet 1, Zeile 5 = 8
Datei 2, Sheet 1, Zeile 5 = 11
sind ohne die Spaltenangaben ziemlich ungenau.
Das gilt ebenso für dies hier: "Zusammengefasst", Sheet 1, Zeile 5 = 22
Und meinst Du mit "zusammenfassen" etwa, das numerische Werte aus den anderen Dateien in der bislang von Dir noch nicht genau benannten Zielzelle aufaddiert werden sollen?
Gruß
Jochen

Anzeige
AW: Beispielarbeitmappe? oT
08.11.2013 10:13:15
Michael
Hallo Jochen!
Ich versuche es näher zu beschreiben:
Sagen wir in allein drei Dateien steht in Sheet 1, Spalte A, Zeile 1 die Überschrift, dann soll er dies Überschrift mit in die Zusammenfassung nehmen.
Wenn in Sheet 1, Spalte A, Zeile 2 ein numerischer Wert steht, dann soll das Makro diesen in den Zusammenfassung, zusammen mit den beiden anderen Blättern zusammenrechnen.
Da die Sheets unterschiedlich aufgebaut sind, kann ich leider nicht jeden Zellenbezug angeben, deshalb wäre ein "Copy & Paste mit aufaddieren" die beste Lösung. Da sind bloß die Texte ein Problem.
Hoffe damit weiterhelfen zu können.
Gruß,
Michael

Anzeige
AW: Beispielarbeitmappe? oT
08.11.2013 10:31:47
JoWE
Hallo Michael,
hier hast Du einen Codeschnippsel, der im Prinzip die nötigen Funktionen beinhaltet.
Den musst Du halt an Deine Bedürfnisse anpassen/erweitern etc.
Sub testCode()
'Die WB1 ist die Quell-Arbeitsmappe
'aus der Daten abgeholt werden sollen
Dim WB1 As Workbook
Set WB1 = Workbooks.Open("Deine Arbeitsmappe incl. Pfad und Extension", ReadOnly:=True)
'Die WB22 ist die Ziel-Arbeitsmappe,
'diese Arbeitsmappe enthält dieses Makro
'sie nimmt auch die eingesammelten Daten auf
Dim WB2 As Workbook
Set WB2 = ThisWorkbook
WB2.Sheets(1).Cells(1, 1).Value = WB1.Sheets(1).Cells(1, 1).Value
'Wenn diese Daten an dieser Stelle addiert werden sollen, dann muss es so aussehen:
'WB2.Sheets(1).Cells(1, 1).Value = _
WB2.Sheets(1).Cells(1, 1).Value + WB1.Sheets(1).Cells(1, 1).Value
'die Quell-Arbeitsmappe schließen
WB1.Close
Set WB1 = Nothing
End Sub
Gruß
Jochen

Anzeige
AW: Beispielarbeitmappe? oT
08.11.2013 10:36:13
JoWE
Verbessert weil kleiner (aber folgenschwerer) Fehler:
Sub testCode()
'Die WB1 ist die Quell-Arbeitsmappe
'aus der Daten abgeholt werden sollen
Dim WB1 As Workbook
'Die WB22 ist die Ziel-Arbeitsmappe,
'diese Arbeitsmappe enthält dieses Makro
'sie nimmt auch die eingesammelten Daten auf
Dim WB2 As Workbook
Set WB2 = ThisWorkbook
Set WB1 = Workbooks.Open("Deine Arbeitsmappe incl. Pfad und Extension", ReadOnly:=True)
WB2.Sheets(1).Cells(1, 1).Value = WB1.Sheets(1).Cells(1, 1).Value
'Wenn diese Daten an dieser Stelle addiert werden sollen, dann muss es so aussehen:
'WB2.Sheets(1).Cells(1, 1).Value = _
WB2.Sheets(1).Cells(1, 1).Value + WB1.Sheets(1).Cells(1, 1).Value
'die Quell-Arbeitsmappe schließen
WB1.Close
Set WB1 = Nothing
End Sub

Anzeige
AW: Beispielarbeitmappe? oT
08.11.2013 11:02:09
Michael
Hallo Jochen,
leider wurde meine letzte Mail nicht angezeigt :-(
Kurz, ich habe leider keine Ahnung von Makros und brauche daher etwas.
Woran wird erkannt, welche Datei WB1 ist und welche alle geöffent werden müssen?
Darf WB2 auch in diesem Ornder abliegen?
Habe den kompletten Pfad bis hin zum Endornder reinkopiert, funktioneirt trotzdem nciht.
Was genau müsste denn noch angepasst werden?
Grüße,
Michael

AW: Beispielarbeitmappe? oT
08.11.2013 11:02:16
Michael
Hallo Jochen,
leider wurde meine letzte Mail nicht angezeigt :-(
Kurz, ich habe leider keine Ahnung von Makros und brauche daher etwas.
Woran wird erkannt, welche Datei WB1 ist und welche alle geöffent werden müssen?
Darf WB2 auch in diesem Ornder abliegen?
Habe den kompletten Pfad bis hin zum Endornder reinkopiert, funktioneirt trotzdem nciht.
Was genau müsste denn noch angepasst werden?
Grüße,
Michael

Anzeige
AW: Beispielarbeitmappe? oT
08.11.2013 12:05:04
JoWE
WB1 definierst Du doch selbst; hier:
Set WB1 = Workbooks.Open("Deine Arbeitsmappe incl. Pfad und Extension", ReadOnly:=True)
Un die WB2 ist natürlich die aktive Arbeitsmappe, die das Makro enthält und von der aus die andere Arbeitsmappe ausgelesen wird.
Für mehrere Arbeitsmappen müsstest Du um die "Öffnen, lesen und übertragen"-Routine eine entsprechende Schleife bauen, die nacheinander die diversen Arbeitsmappen öffnet, Daten liest und nach dem Übertragen wieder schließt um die nächste Arbeitsmappe zu lesen usw..
Dazu gibt es im Netz Beispiele ohne Ende. Suche mal nach "Excel-VBA Daten aus mehreren Arbeitsmappen zusammenführen".
Gruß
Jochen

Anzeige
AW: Beispielarbeitmappe? oT
08.11.2013 13:22:25
Michael
Hallo Jochen,
ok, dann habe ich es bis zu diesen Punkt verstanden.
Er öffnet nun die andere Datei, kopiert aber nichts aus den einzelnen Sheets.
Gibt es eine andere Methode der Auswahl der WB1?
Da die monatlich umbennant werden, muss das Makro jedesmal umgeschrieben werden?
Gruß,
Michael

AW: Beispielarbeitmappe? oT
08.11.2013 14:04:21
JoWE
mit
WB2.Sheets(1).Cells(1, 1).Value = WB1.Sheets(1).Cells(1, 1).Value
wird aus WB1 der Wert der Tabelle1, Zelle A1 nach WB2 in Tabelle1, Zelle A1 kopiert
über die x, r und s in Sheets(x).Cells(r, s) bestimmst Du x = Blattname, r=Zeilennummer und s=Spaltennummer (im Code war das die Tabelle1, Zeile 1, Spalte 1 also der Wert aus A1)
Wenn natürlich in A1 der WB1 nichts drin steht wird auch nach WB2, A1 nichts übertragen.
Jochen

Anzeige
AW: Beispielarbeitmappe? oT
08.11.2013 14:20:14
Michael
Hallo Jochen!
Danke, Grund meiner Verwirrung war, dass ich dachte, du hättest ein Makro erstellt, so wie ich es gebraucht hätte. Du hast aber die "einfache" Variante genommen, um mir die Gelegenheit zu bieten, das Makro weiter auszubauen.
Wirklich geholfen hast du mir damit leider nicht wirklich, da ich Stunden benötigen werde, das so hinzubekommen wie geplant. Aber du hast mir den schwersten Part abgenommen, den Rest versuche ich aus dem Forum herauszufinden.
Danke!

AW: Beispielarbeitmappe? oT
08.11.2013 16:25:46
JoWE
Hallo Michael,
ohne genaue Kenntnisse sämtlicher Details einer von einer mir unbekannten Person erstellten Tabelle baue ich keine Makros, die Daten irgendwo zusammenführen, summieren oder irgendwie wohin transferieren.
Aus meiner Sicht wäre das leichtsinnig. Schon bei Nichtbeachten eines winzigen Details können Fehler entstehen, die in der Folge katastrophale Wirkungen entfalten könnten.
Daher hilft es nichts, Du musst Dich da schon selbst einarbeiten oder einen professionellen Programmierer beauftragen. Ich hatte in einem meiner vorherigen Posts schon auf die vielen Ergebnisse bei einer entsprechenden Google-Suche hingewiesen. Nutze die und stelle dann Fragen hier im Forum.
Ich bin sicher Dir wird geholfen werden.
Viel Erfolg
Jochen

Anzeige
AW: Beispielarbeitmappe? oT
08.11.2013 10:30:16
Michael
Hallo Jochen!
Ich versuche es näher zu beschreiben:
Sagen wir in allein drei Dateien steht in Sheet 1, Spalte A, Zeile 1 die Überschrift, dann soll er dies Überschrift mit in die Zusammenfassung nehmen.
Wenn in Sheet 1, Spalte A, Zeile 2 ein numerischer Wert steht, dann soll das Makro diesen in den Zusammenfassung, zusammen mit den beiden anderen Blättern zusammenrechnen.
Da die Sheets unterschiedlich aufgebaut sind, kann ich leider nicht jeden Zellenbezug angeben, deshalb wäre ein "Copy & Paste mit aufaddieren" die beste Lösung. Da sind bloß die Texte ein Problem.
Hoffe damit weiterhelfen zu können.
Gruß,
Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige