NextSheet & BackSheet (VBA)

Mk0, Montag, 10.12.2018, 14:10 (vor 161 Tagen)

Hallo,

Ich bräuchte eine kleine Hilfe.

Ich habe ein VBA Makro was alle Werte von allen Arbeitsblättern von 1 bis X auf das letzte Arbeitsblatt (Zusammenfassung) zusammenfassen soll.

Nun mein Problem ist das ich es mit Hilfe der "Loop" Funktion oder der "For" & "Next" Funktion nicht hin bekomme von Arbeitsblatt(Zusammenfassung) wieder zurück zu Arbeitsblatt(1) und dann dem nächsten Arbeitsblatt(2) zu kommen.

Hoffe mir kann da jemand helfen.

MfG

Mk0

NextSheet & BackSheet

Martin Asal @, Montag, 10.12.2018, 15:26 (vor 161 Tagen) @ Mk0

Hallo Mk,

"Zusammenfassung" ist dann doch eine sehr allgemeine Aussage. Nehmen wir mal an, die Sheets sind alle gleich aufgebaut und du willst in der Zusammenfassung einfach nur die Summen bestimmer Felder, sagen wir mal die Summe aus B8 aller Tabellen. Dann geht das ganz ohne VBA mit folgender Funktion:

=SUMME(Tabelle1:Tabelle4!B8)

Martin

NextSheet & BackSheet

Mk0, Montag, 10.12.2018, 16:08 (vor 161 Tagen) @ Martin Asal

Ich brauch zwar aus jedem Arbeitsblatt von O2:P16 die Daten aber alle einzeln. Das Problem damit sie nicht jedesmal auf die selbe stelle hin geschrieben werden hab ich schon gelöst aber es bleibt das Problem das jedes Sheet einen anderen Namen hat. Also habe ich kurz gesagt so eingestellt dass das aktuell letzte Arbeitsblatt(Zusammenfassung) bei A2 mit denn Werten aus Arbeitsblatt(1) nimmt. Danach sollte er auf Arbeitsblatt(2) und wieder die Werte aus der selben Spalte entnehmen und dann auf Arbeitsblatt(Zusammenfassung) in der Zelle C2 wieder einsetzen. Und das geht immer so weiter bis alle Arbeitsblätter bis zu Zusammenfassung zusammengefasst wurden.

Würde der Name von jeden Arbeitsblatt gleich bleiben hätte ich das Problem nicht aber leider ändern sie sich ständig.

NextSheet & BackSheet

Martin Asal @, Montag, 10.12.2018, 16:25 (vor 161 Tagen) @ Mk0

Wenn ich dich richtig verstanden habe, geht es also darum, die Summe aller Zellen "O2" zu berechnen, usw.

Das klappt wie folgt:

Public Function Sum3D(Zelle As Range)
Dim i As Integer, Ergebnis
 
For i = 1 To ActiveWorkbook.Sheets.Count - 1
    Ergebnis = Ergebnis + ActiveWorkbook.Sheets(i).Range(Zelle.Address)
Next
Sum3D = Ergebnis
 
End Function

Martin

RSS-Feed dieser Diskussion
powered by my little forum