Sheets(Array(variable)).select Excel 2003

Hallo.

Ich habe eine inzwischen viel zu große Datei mit vielen Tabellenblättern. Bisher haben wir fünf Scripte, um verschiedene pdfs zu erstellen. Grundsätzlich funktionieren alle Sripte nach dem folgenden Schema:

sub druck()
Sheets(Array(„Tabelle1“, „Tabelle2“, „Tabelle3“)).Select

End Sub

Jetzt wollen wir das ganze ein wenig flexibler gestalten und dazu einen Stamm an Tabellenblättern definieren, dem dann einzelne Blätter hinzugefügt werden sollen. Wenn also der Stamm wie folgt ausschaut:

myArr = Array(„Tabelle1“, „Tabelle2“, „Tabelle3“)

wie schaffe ich es dann, dass myArr zum Beispiel ergänzt wird auf:

myArr = Array(„Tabelle1“, „Tabelle2“, „Tabelle3“, „Tabelle4“)

Von der Grundidee stelle ich mir ein Script vor, welches wie folgt ausschaut:

Sub druck()
Dim myArr() As Variant
myArr = Array(„Tabelle1“, „Tabelle2“, „Tabelle3“)
blatt4=inputbox(„Soll Tabelle 4 mit gedruckt werden? j/n“)
If blatt4 „j“ then
Else
myArr = myArr & ??? ’ Hier weiß ich nicht weiter.
Endif
Sheets(myArr).Select

End Sub

Ich will also nach der Abfrage myArr erweitern oder es so belassen, wie es vorher war. Insgesamt sind es derzeit 4 Tabellenblätter, die opitonal sind. Es ergäbe sich also eine viel zu große Zahl um alle Blätter in einem speziellen myArr zu definieren und über eine Abfrage anzuwählen. Zumal eventuelle noch weitere optionale Blätter hinzukommen.

Vielen Dank schon mal. Falls Fragen bestehen, beantworte ich die gerne.

Grüße.

Hallo noch mal.

Ich antworte mal selbst. Durch Zufall bin ich auf die Lösung gekommen und will die nicht vorenthalten.

Das Script sieht jetzt so aus:

Sub drucken()
Dim myarr As String
myarr = „Tab1,Tab2,Tab3“
blatt4 = InputBox(„Soll die Tab4 mit ausgedruckt werden? j/n“)
If blatt4 = „j“ Then myarr = myarr & „,Tab4“
Sheets(Split(myarr, „,“)).Select

End Sub

Von hinten durch die Brust ins Auge also.

Grüße.