VBA Excel Schleife Blätter nacheinander aufrufen

Hallo an alle,

folgendes Problem: Ich habe eine Excel-Tabelle mit 75 Blättern, davon haben 64 Stück die Namen „11“, „12“, … „18“, „21“, …, „28“, … bis „88“, also nach dem Schema ij mit i = 1 bis 8 und j = 1 bis 8.
Nun möchte ich aus einem anderen Blatt (Pivottabelle) abgefragte Daten kopieren und in die entsprechenden Blätter einfügen. Abfrage, Kopieren und Einfügen in VBA sind kein Problem.
Allerdings benötige ich eine Schleife, in der nacheinander meine oben genannten 64 Blatt-Namen durchgegangen werden und das entsprechende Blatt mit seinem Namen (der Zahl) angesprochen wird.

Kann mir da jemand helfen?

Viele Grüße,
Sonja

PS: um die Sache zu veranschaulichen - es geht um Transportrelationen von i nach j, die ich mit i*10+j kodiert habe. Nun soll ich für jede Relation ij ein einzelnes Blatt in meiner Tabelle anlegen. Dabei möchte ich mir die Kopierarbeit sparen und eventuell die Möglichkeit haben, meine Daten bei Bedarf schnell zu aktualisieren.

Hallo,

ich bin mir nicht ganz sicher, ob es das ist, was Du suchst, aber eine mögliche Schleife, um diese Zahlenfolge zu erhalten (zwischen 11 und 88) wäre die folgende.

Dabei wäre dann k jeweils der Wert, den man dann z.B. in den Blattnamen basteln könnte.

Vielleicht hilft Dir da weiter, sonst sorry, wenn ich es falsch verstanden habe.

Gruß,
Elisabeth

Sub schleife()

Dim i, j, k As Integer
i = 1
j = 1
k = 0

While k

Hallo nochmal,

@Elisabeth: danke für die Antwort.

Ich schätze, ich muss mein Problem noch genauer schildern.

Ich suche eine Möglichkeit, Zahlen, die ich mir (mit meiner Schleife generiere) zu nutzen, um die Blätter in meiner Mappe bei ihrem „Namen“ anzusprechen. Sie heißen z.B. „11“, „12“, … „88“. Also bei jedem Schleifendurchlauf mit der Zahl i soll das Blatt mit dem Namen „i“ aktiviert werden.

Das gleiche Problem habe ich übrigens, wenn ich die Daten aus meiner Pivottabelle ziehen möchte. Meine Pivotitems (in den Feldern „von“ und „nach“) heißen jeweils „1“, „2“, … „8“. Wie kann ich die Namen mithilfe der Zahl i in der Schleife ansprechen?

Beispiel, wie ich es mir vorstelle:
wenn die Schleife mit i=8 ist, soll im Kern folgendes geschehen:

With ActiveSheet.PivotTables(„PivotTable1“).PivotFields(„von“)
.PivotItems(„1“).Visible = True
.PivotItems(„2“).Visible = False

.PivotItems(„8“).Visible = False

Sheets(„8“).Select

Mit der Schleife möchte mir also ersparen, jedes der 64 Blätter mit seinem „Namen“ zu aktivieren. Der Name soll die Zahl sein.

Ich hoffe, es ist jetzt noch deutlicher geworden, was ich suche. Bei mir läuft übrigens Excel 2003. Danke!

Hallo Sonja,

folgendes Problem: Ich habe eine Excel-Tabelle mit 75
Blättern, davon haben 64 Stück die Namen „11“, „12“, … „18“,
„21“, …, „28“, … bis „88“, also nach dem Schema ij mit i =
1 bis 8 und j = 1 bis 8.

Allerdings benötige ich eine Schleife, in der nacheinander
meine oben genannten 64 Blatt-Namen durchgegangen werden und
das entsprechende Blatt mit seinem Namen (der Zahl)
angesprochen wird.

for N = 11 to 88
 If instr("09", str(n))



> PS: um die Sache zu veranschaulichen - es geht um  
> Transportrelationen von i nach j, die ich mit i\*10+j kodiert  
> habe.

Mag ja sein daß dies anschaulicher ist, was sind denn Transportrelationen, muß ich das wissen um es in Excel zu lösen?

Gruß
Reinhard

Hallo Reinhard,

es hat funktioniert - deiner Str-Funktion sei Dank!

Das mit den Transportrelationen ist nicht lebensnotwendig für Excel. Es bedeutet, dass Züge von a nach b gefahren sind, also Relation „ab“. Und ich darf das nun auswerten :-S

Nochmals vielen Dank!
Beste Grüße,
Sonja