Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Variable abhängig vom Tabellenblatt

Betrifft: Variable abhängig vom Tabellenblatt von: Thomas K
Geschrieben am: 25.08.2014 13:23:15

Hallo zusammen,

ich hab folgendes Problem:

Meine Arbeitsmappe besteht aus ca. 20 Tabellenblättern. Mit einer for-Schleife werden diese Tabellenblättern durchlaufen und bearbeitet.

Die Ergebnisse der einzelnen Tabellenblätter sollen jeweils in einer Variable gespeichert sein. D.h. ich brauche eine tabellenblattabhängige Variable.
Wenn am Schluss alle Tabellenblätter durchlaufen sind, sollen diese ganzen Variablen in einer einzelnen zusammengefasst werden:

Variable_alle_sheets = Variable(sheet1)+Variable(sheet2)+...

Variable(sheet1) soll also im ersten for-Schleifen-Durchlaufen erzeugt werden, Variable(sheet2) im zweiten Durchlauf usw.

Wie kann ich das realisieren?

Vielen Dank schon mal!

Gruß,
Thomas

  

Betrifft: AW: Variable abhängig vom Tabellenblatt von: ChrisL
Geschrieben am: 25.08.2014 13:37:45

Hi Thomas

Stichwort Array resp. Datenfeld.

Folgend ein Beispiel mit 3 Blättern:

Sub t()
Dim i As Integer
Dim arr(2) As Variant

For i = 1 To 3
    arr(i - 1) = Worksheets(i).Range("A1")
Next i

MsgBox WorksheetFunction.Sum(arr)
End Sub

Achtung, Array zählen ab "Null"... arr(0) = Worksheets(1), arr(1) = Worksheets(2) usw.
Darum minus eins: arr(i -1)

cu
Chris


  

Betrifft: AW: Variable abhängig vom Tabellenblatt von: Thomas K
Geschrieben am: 25.08.2014 15:13:51

Vielen Dank schon mal!

Wäre es auch möglich, einer Variable immer den momentanen Schleifenindex zuzuordnen?
Z.B. wenn der Schleifenindex i ist, würde die Variable so aussehen:

Variable_i = ...

Dass man praktisch den Schleifendindex zu einem String umwandelt und an die Variable anhängt.

Danke!

Viele Grüße,
Thomas


  

Betrifft: AW: Variable abhängig vom Tabellenblatt von: ChrisL
Geschrieben am: 25.08.2014 15:57:04

Hi Thomas

Meines Wissens geht das nicht.

cu
Chris


  

Betrifft: Abgesehen mal davon, dass das hier wohl ... von: Luc:-?
Geschrieben am: 25.08.2014 18:15:10

…eher nicht erforderlich ist, Thomas,
geht das unter bestimmten Voraussetzungen durchaus:
1. Die dadurch entstehenden Variablen müssen in einem KlassenModul deklariert worden sein.
2. Der dazugehörige GruppenVariablenName kann als Text einer globalen oder lokalen Variable zugewiesen wdn.
3. Der durch diese Aktion entstandene Name ist Text und kann deshalb nur zur Laufzeit per CallByName-Methode aufgerufen wdn. Dafür wird ein ElternObjekt benötigt, weshalb diese Variablen auch in einem (Dokument-)KlassenModul (Mappe oder Blatt reicht schon) definiert sein müssen.
Gruß, Luc :-?


  

Betrifft: AW: Variable abhängig vom Tabellenblatt von: Ewald
Geschrieben am: 25.08.2014 15:17:46

Hallo,

da reicht doch eine Variable

Sub Zählen()
Dim i As Integer
Dim Summe As Long
For i = 1 To ThisWorkbook.Sheets.Count
    Summe = Summe + Worksheets(i).Range("A1").Value
Next i
MsgBox Summe
End Sub
Gruß Ewald


 

Beiträge aus den Excel-Beispielen zum Thema "Variable abhängig vom Tabellenblatt"