Herbers Excel-Forum - das Archiv

Tabellenblätter zum Drucken auswählen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
ListBox
Bild

Betrifft: Tabellenblätter zum Drucken auswählen
von: Roland
Geschrieben am: 27.11.2003 14:20:38
Hallo Forum,
habe ein Problem mit der Tabellen-Auswahl für Druck.
In Abhängigkeit einer Auswahl - kleinster und grösster Wert - sollen diese Tabellenblätter in der Arbeitsmappe ausgewählt werden und dann gedruckt werden.

Leider funktioniert meine Routine nicht! Was mache ich falsch?

......
For u = v To w ' v ist der kleinste und w der grösste Wert
If u <> Sheets.Count Then
Bereich = Bereich & u & ","
Else
Bereich = Bereich & u
End If
Next u
MsgBox Bereich 'Bereich = v,v+1,...,w-1,w also wie nächste Zeile
Sheets(Array(1, 2, 3, 4, 5)).Select 'Dies funktioniert
Sheets(Array(Bereich)).Select 'Dies leider nicht; wo liegt der Fehler
....

Sicher liegt ein trivialer Fehler vor, ich komm aber nicht drauf.

Mit einer ähnlichen Prozedur möchte ich dann später Tabellenblätter aus einer ListBox mehrfach selektieren und zum Ausdruck bringen. Eigentlich was alltägliches. Möglicherweise gibt's bereits Lösungen dafür.

Vielen Dank für Support

Roland Escher

Bild

Betrifft: AW: Tabellenblätter zum Drucken auswählen
von: Nicolaus
Geschrieben am: 28.11.2003 08:26:43
Hallo,
Deine Routine funktioniert nicht, da die erzeugte Variable Bereich ein String ist, den du mit Array nicht in eine Feldvariable umwandeln kannst.
Also musst du ein echtes Datenfeld erzeugen, dass genau die geforderte Grösse hat.
Nachfolgend die Lösung.



Sub Auswahl()
Dim Bereich()
v = 1  'Platzhalter zum Testen
w = 3
'If-Block zur Bestimmung der genauen Datenfeldgrösse
If w >= Sheets.Count Then
ReDim Bereich(Sheets.Count - v)
Else
End If
ReDim Bereich(w - v) 'Dimensionierung des Datenfeldes
For u = v To w ' v ist der kleinste und w der grösste Wert
If u <= Sheets.Count Then
Bereich(u - v) = u
End If
Next u
Sheets(Bereich).Select 'Jetzt ist Bereich eine echte Feldvariable
End Sub



Nicolaus
Bild

Betrifft: AW: Tabellenblätter zum Drucken auswählen
von: Roland
Geschrieben am: 28.11.2003 08:43:22
Hallo Nicolaus,
vielen Dank für Deine Unterstützung.
Hatte auch schon mal über Bereich als Array probiert, dann aber offensichtlich den Fehler gemacht den Sheets-Aufruf mit einem Sheets(Array(Bereich)).Select zu machen.
Jetzt weiss ich es besser.
Nochmals vielen Dank.

Gruss
Roland Escher
Bild
Excel-Beispiele zum Thema " Tabellenblätter zum Drucken auswählen"
Mehrbereichsauswahl auf eine Seite drucken. Sichtbare Blätter drucken
Automatische Datumformatierung unterdrücken Bestätigung beim Speichern unterdrücken.
Kopfzeile in Buchform drucken In einem Dialog ausgewählte Spalten drucken
Codeblatt mit Rändern drucken Mehrfachauswahl im Hoch- und Querformat drucken
Tabellenblätter in umgekehrter Reihenfolge drucken Alle Dateien eines Verzeichnisses drucken