Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Drucken

Forumthread: 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?
Anzeige

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
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige