Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
572to576
572to576
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Über Schleife Routine auf Elemente anwenden

Über Schleife Routine auf Elemente anwenden
21.02.2005 16:53:00
Markus
Liebe Forum-Mitglieder,
folgendes Problem:
ich habe eine umfangreiche Routine (Mittelwertbildung, Generierung eines Histogramms, Plotten desselben) welches ich nun sukzessive auf jedes der Tabellenblätter in meinem Excelfile anwenden möchte.
Damit möchte ich vermeiden, dass ich 20 mal hintereinander im Grunde den gleichen Quatsch im Quelltext stehen habe und die Länge meines Quelltextes exponentiell anwächst.
Die Tabellenblätter haben Bezeichnungen. Es ist wichtig, dass die Bezeichnungen in der Schleife benutzt werden (letztlich der Übersicht halber).
Beispiel:
------------------------------------------------------
Klassifikationen=("blau", "schwer", "warm", "kalt")
For Each Schema in Klassifikationen
' Hier ein Teil einer Beispielroutine
'Wählen des Tabellenblatts
Sheets(Schema).Select
Sheets(Schema).Activate
i = 1
Do
i = i + 1
Loop Until ActiveSheet.Cells(i, 1) = ""

N = i - 2


'Berechnen von Mittelwert und Median
Worksheets(Schema).Activate

'Anzahl der Eintragungen
ActiveSheet.Cells(i + 1, 14).Select
ActiveSheet.Cells(i + 1, 14).Activate
ActiveCell = N
'und so weiter...
Next
--------------------------------------------------------
Dabei ist "Klassifikationen" eine Liste mit den Bezeichnungen meiner Tabellenblätter. "Schema" soll eine Laufvariable sein, deren Wert dann die Bezeichnung des gerade aktuellen Tabellenblatts ist (also ein String).
Wie müsste die Schleife richtig gesetzt sein und wie deklariere ich die Variablen "Klassifikationen" und "Schema"?
Kann mir jemand einen Tipp geben?
Vielen Dank im Voraus
Viele Grüße
Markus

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Über Schleife Routine auf Elemente anwenden
21.02.2005 17:00:37
Matthias
Hallo Markus,
mal ein Beispiel, von dem du dir den Rest vielleicht selbst ableiten kannst:

Sub test()
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Sheets
Debug.Print "Index: " & Sh.Index
Debug.Print "Name : " & Sh.Name
Debug.Print "in A1 steht: " & Sh.Range("A1")
Next Sh
End Sub

Noch Fragen?
GRuß Matthias
AW: Über Schleife Routine auf Elemente anwenden
Markus
Hallo Matthias,
vielen Dank für die schnelle Antwort.
Das ist im Prinzip genau das was ich will.
For Each Sh In ThisWorkbook.Sheets
Das ist wohl ein generelles Konstrukt, was automatisch alle Tabellenblätter durchläuft.
Kann man anstatt dessen auch eine Auswahl treffen?
Vielen Dank und viele Grüße
Markus
Anzeige
AW: Über Schleife Routine auf Elemente anwenden
21.02.2005 18:58:32
Matthias
Hallo Markus,
ja, z.B.
For Each Sh In Sheets(Array("Tabelle1", "Tabelle3", "Tabelle5"))
oder
For Each Sh In ActiveWindow.SelectedSheets 'alle ausgewählten Blätter
Gruß Matthias
AW: Über Schleife Routine auf Elemente anwenden
Markus
Hallo Matthias,
funzt optimal!
Herzlichen Dank für den Tipp!
Viele Grüße
Markus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige