Makro für mehrere seiten drucken

Hallo zusammen,
Ich möchte einfach ein einfachen „druckenmakro“ haben, indem abgefragt wird, welche seiten gedruckt werden sollen und ich einen Druckbereich auswählen kann. Folgendes habe ich im Internet gefunden:

Sub Drucken_1_1()
Dim Kopien As Variant
If MsgBox(„Drucken?“, vbYesNo, „Drucken“) = vbYes Then
Do
Kopien = InputBox(„Anzahl Kopien“, „Drucken“, 1)
If StrPtr(Kopien) = 0 Then Exit Sub
If IsNumeric(Kopien) Then Exit Do
MsgBox „Bitte eine Zahl eingeben!“, vbExclamation, „Hinweis“
Loop
ActiveSheet.PrintOut From:=1, To:=1, Copies:=CLng(Kopien)
End If
End Sub

Genau so was brauche ich aber bei der Abfrage, welche Seite soll gedruckt werden, möchte ich eingeben können z.B: 1-32

In dem obigen makro kann ich nur eine einzige Zahl eingeben, also irgendeine Zahl unter 10. Ich weiss nur nicht wie das Makro dementsprechend geändert werden muss, damit man z.b. sagen kann, druck seiten 1 bis 4. Und in diesem Makro kann ich auch keinen Druckbereich wählen.

Hat jemand ne idee? Danke schonmal

Hallo kolri

Das von Dir gepostete Makro zeigt eine InputBox an, in die der Anwender die Anzahl der zu druckenden Kopien von nur einer Seite eingeben kann. Das unterscheidet sich aber von der Beschreibung Deines Vorhabens, die expliziten Seitenzahlen (Dein Beispiel: 1-32) eingeben zu können.

Der folgende Code ermöglicht das Eingeben der Seitenzahlen „von“ und „bis“:

Public Sub PrintDialog()

 Dim Cancel As Boolean
 Dim UserResult As VbMsgBoxResult
 Dim UserInput As String
 Dim FromPage As Long
 Dim ToPage As Long

 On Error GoTo ErrHandler

 UserResult = MsgBox("Drucken?", vbYesNo)
 Select Case UserResult
 Case vbNo
 Exit Sub
 End Select

ShowFromPage:

 UserInput = InputBox("Drucken von Seite...")
 If UserInput = vbNullString Then
 Exit Sub
 End If
 FromPage = CLng(UserInput)
 If FromPage = 0 Then GoTo ShowFromPage

ShowToPage:

 UserInput = InputBox("Drucken bis Seite...")
 If UserInput = vbNullString Then
 Exit Sub
 End If
 ToPage = CLng(UserInput)
 If ToPage = 0 Then GoTo ShowToPage

ExitSub:

 If Cancel = True Then Exit Sub
 ActiveSheet.PrintOut From:=FromPage, To:=ToPage, Copies:=1
 Exit Sub

ErrHandler:
 Cancel = True
 Resume ExitSub

End Sub

Wie Du das mit dem Druckbereich meinst, habe ich nicht ganz verstanden.

VG
Carsten

Carsten, vielen vielen Dank. Hat alles PERFEKT geklappt mit deinem Makro. Habe Tagelang nach der Lösung gesucht. Genau wie ich das brauchte, vielen Dank…