Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1880to1884
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
Inhaltsverzeichnis

Drucken

Drucken
27.04.2022 10:48:15
Neuling
Hallo,
ich möchte in Exel einige Arbeitsblätter ausdrucken und habe aus einem älteren Tipp in diesem Forum eine Lösung übernommen, bekomme aber Laufzeitfehler 9 - Index außerhalb des gültigen Bereichs.
Hier das Programm:

Sub Drucken()
Dim wkssheets(13) As String
Dim strPrinterName As String
Dim varRueckgabe As Variant
strPrinterName = Application.ActivePrinter
varRueckgabe = Application.Dialogs(xlDialogPrinterSetup).Show
If varRueckgabe = "Falsch" Then Exit Sub
wkssheets(0) = "Januar"
wkssheets(1) = "Februar"
wkssheets(2) = "März"
wkssheets(3) = "April"
wkssheets(4) = "Mai"
wkssheets(5) = "Juni"
wkssheets(6) = "Juli"
wkssheets(7) = "August"
wkssheets(8) = "September"
wkssheets(9) = "Oktober"
wkssheets(10) = "November"
wkssheets(11) = "Dezember"
Sheets(wkssheets).PrintOut
Application.ActivePrinter = strPrinterName
End Sub
wer kann helfen?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Drucken
27.04.2022 11:02:27
Nepumuk
Hallo,
du musst das Array richtig dimensionieren:

Dim wkssheets(11) As String
Gruß
Nepumuk
AW: Drucken
27.04.2022 14:38:58
Neuling
Herzlichen Dank. die 13 hatte ich zuletzt probiert, da die 12 nicht ging. Aber richtig - Basic zählt ja von 0 bis n-1
AW: Drucken
27.04.2022 11:04:42
ChrisL
Hi
Im bestehende Code, müsste 13 in 11 (Datenfeld von 0 bis 11 = 12) korrigiert werden:

Dim wkssheets(11) As String
Hiermit kannst du es noch etwas kompakter und ohne fixe Dimensionierung lösen:

Sub Drucken()
Dim wkssheets() As Variant
Dim strPrinterName As String
Dim varRueckgabe As Variant
strPrinterName = Application.ActivePrinter
varRueckgabe = Application.Dialogs(xlDialogPrinterSetup).Show
If varRueckgabe = "Falsch" Then Exit Sub
wkssheets = Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember")
Sheets(wkssheets).PrintOut
Application.ActivePrinter = strPrinterName
End Sub
cu
Chris
Anzeige
AW: Drucken
27.04.2022 14:40:05
Neuling
danke sehr. die 13 hatte ich probiert, da 12 nicht ging. Aber basic zählt ja von 0 bis n-1 - war mir entfallen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige