Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
344to348
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
344to348
344to348
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellenblätter zum Drucken auswählen

Tabellenblätter zum Drucken auswählen
27.11.2003 14:20:38
Roland
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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter zum Drucken auswählen
28.11.2003 08:26:43
Nicolaus
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
Anzeige
AW: Tabellenblätter zum Drucken auswählen
28.11.2003 08:43:22
Roland
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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige