Werte von definierten Sheets übernehmen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Werte von definierten Sheets übernehmen
von: Franz Hardinger
Geschrieben am: 12.06.2015 10:17:59

Hallo zusammen,
habe aktuell folgendes Problem: Ich muss von verschieden vielen Tabellenblättern Summenwerte in eine Übersicht übernehmen. Was ja noch kein Problem darstellt. Zurzeit bin ich einfach davon ausgegangen, dass das erste Blatt, von dem ich die Summenwerte übernehme immer das 4. Blatt ist. Das funktionierte bislang auch gut.
Jetzt kann es allerdings sein, dass sich das erst Blatt, von dem übernommen werden soll verschiebt (es steht dann z.B. an 8. Stelle). Wie kann ich somit alle Tabellenblätter hinter dem Blatt mit dem Namen MA 1 ansprechen, dass ich die Werte übernehmen kann?
Besten Dank,
Franz

Bild

Betrifft: benutze den Index der Blätter ... owT
von: Matthias L
Geschrieben am: 12.06.2015 10:40:20


Bild

Betrifft: hier noch ein konkretes Beispiel ...
von: Matthias L
Geschrieben am: 12.06.2015 10:59:28
Hallo
Hab Dir mal ein konkretes Bsp. geschrieben
https://www.herber.de/bbs/user/98162.xlsm
Wenn Du nun das Registerblatt "MA1" verschiebst und den Code neu startest(Button in Tabelle1)
wird die Summe aus je A1 neu berechnet. Dabei wird der Index vom RegisterblattNamen("MA1") genutzt
Die MsgBox je Blatt dient hier nur zur besseren Darstellung.
Gruß Matthias

Bild

Betrifft: AW: hier noch ein konkretes Beispiel ...
von: Franz Hardinger
Geschrieben am: 12.06.2015 12:16:20
Hallo Matthias,
erst mal danke für deine rasche Antwort. Hilft mir aber leider nicht viel:
Ich verschiebe das Blatt nicht wirklich. Eigentlich werden neue Tabellenblätter erstellt, die dann vor dem Blatt "MA1" gereiht werden. Wenn ich nun über Index größer als anspreche nehme ich die neuen auch mit, da der Index ja größer ist...
Zur besseren Verständlichkeit:
Blatt Übersicht
Blatt MA1
Blatt MA2
Blatt MA3
MA1 bis 3 werden fertig ausgefüllt, dann wird per VBA aus den Blättern MA1 bis 3 je ein eigenes Blatt (mit dem Namen "Global MA1" bzw. "Global MA2" usw.) erstellt. Dieses Globale Blatt soll nun aber nicht in der Übersicht berücksichtigt werden.
Neue Blätter dann:
Blatt Übersicht (Index 1)
Blatt Global MA1 (Index 5)
Blatt Global MA2 (Index 6)
Blatt Global MA3 (Index 7)
Blatt MA1 (Index 2)
Blatt MA2 (Index 3)
Blatt MA3 (Index 4)
Bitte um Hilfe... :-(

Bild

Betrifft: AW: hier noch ein konkretes Beispiel ...
von: Matthias L
Geschrieben am: 12.06.2015 15:57:10
Hallo
Zitat

Eigentlich werden neue Tabellenblätter erstellt, die dann vor dem Blatt "MA1" gereiht werden. Wenn ich nun über Index größer als anspreche nehme ich die neuen auch mit, da der Index ja größer ist...
Hast Du das probiert? Du hast da einen kleinen Denkfehler.
Wenn Du die neuen Blätter vor MA1 einfügst ist doch ihr Index nicht größer.
Er ist kleiner!
Gruß Matthias

Bild

Betrifft: Nochmal eine Erklärung
von: Matthias L
Geschrieben am: 12.06.2015 17:15:55
Hallo
Nochmal eine Erklärung
Der Index der Tabellenblätter fängt immer links an und geht nach rechts.
Willst Du also A1 ab Worksheets("MA1") bis Ende summieren, kannst Du es auch so testen.

Dim x&, Summe As Double
 For x = Worksheets("MA1").Index To Worksheets.Count
  Summe = Summe + Worksheets(x).Range("A1")
 Next
 MsgBox Summe


Wenn Deine Register so angeordnet sind, wie Du es zeigst, dann ist der Index so:
Blatt Übersicht (Index 1)
Blatt Global MA1 (Index 2)
Blatt Global MA2 (Index 3)
Blatt Global MA3 (Index 4)
Blatt MA1 (Index 5)
Blatt MA2 (Index 6)
Blatt MA3 (Index 7)
Gruß Matthias

Bild

Betrifft: Schade, das keine Rückmeldung kommt :-( kwT
von: Matthias L
Geschrieben am: 18.06.2015 19:37:07


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Werte von definierten Sheets übernehmen"