Ich habe 5 Blätter SAZ1, SAZ2, ... SAZ5 und 5 Blätter GA1, GA2, ... GA5 und noch einige weitere Blätter
Die sind je nach Kunde unterschiedlich mit Daten gefüllt, z.B. einmal SAZ1 Und GA1
mal SAZ1 2 3 und GA1 2 ...
Hier im Makro werden SAZ1 2 3 und GA1 2 3 ausgewählt fürs Drucken.
Sub DruckenBlätterMarkieren3S3G()
Sheets(Array("SAZ1", "SAZ2", "SAZ3", "GA1", "GA2", "GA3", "Ang_Zf", "SE", "MEB S", "SEB", " _
GE", "MEB G", "GEB")).Select
Sheets("SAZ1").Activate
ActiveWindow.SelectedSheets.PrintPreview
End Sub
Das klappt ja auch alles.
nachdem ich aber jetzt nicht für jede mögliche Kombi einen eigenen Makro mit Button haben will, sondern einen Makro für alles, habe ich diesen Makro geschrieben:
Sub Markieren()
For I = 1 To 5
Sheets("SAZ" + LTrim(I)).Select
If Range("B6") 0 Then MarkierenArray = MarkierenArray + Chr(34) + "SAZ" + LTrim(I) + _
Chr(34) + ", "
Next I
For I = 1 To 5
Sheets("GA" + LTrim(I)).Select
If Range("B6") 0 Then MarkierenArray = MarkierenArray + Chr(34) + "GA" + LTrim(I) + _
Chr(34) + ", "
Next I
MarkierenArray = MarkierenArray + Chr(34) + "SE" + Chr(34) + ", "
MarkierenArray = MarkierenArray + Chr(34) + "MEB S" + Chr(34) + ", "
MarkierenArray = MarkierenArray + Chr(34) + "SEB" + Chr(34) + ", "
MarkierenArray = MarkierenArray + Chr(34) + "GE" + Chr(34) + ", "
MarkierenArray = MarkierenArray + Chr(34) + "MEB G" + Chr(34) + ", "
MarkierenArray = MarkierenArray + Chr(34) + "GEB" + Chr(34)
MsgBox (MarkierenArray) ' Nur für Testzwecke, ob der String stimmt
Sheets(Array(MarkierenArray)).Select
End Sub
Warum bringt Excel da den Laufzeitfehler 9 - Index ausserhalb des Bereichs?
Muss ich da den String anders deklarieren?
Der String ist doch so, wie er im anderen Makro steht...
Beispiedatei ist hochgeladen:
https://www.herber.de/bbs/user/70552.xls
Vielen Dank fürs Lesen, Eindenken und die hilfreiche Antwort!
lG Elmar