Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1252to1256
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 per Inputbox

Drucken per Inputbox
Stephan
Hallo, ich möchte per Auswhl einzelne seiten drucken, aber irgendwie passt was an meinem Makro _
nicht

Sub Drucken()
Dim Seite As Variant
'If MsgBox("Drucken?", vbYesNo, "Drucken") = vbYes Then
Do
Seite = InputBox("Welche Seite ", "Drucken", 1)
'If StrPtr(Seite) = 0 Then Exit Sub
If IsNumeric(Seite) Then Exit Do
MsgBox "Bitte eine Zahl eingeben!", vbExclamation, "Hinweis"
Loop
If IsNumeric(Seite) = 1 Then
Application.Goto Reference:="Seite1"
Selection.PrintOut Copies:=1, Collate:=True
If IsNumeric(Seite) = 2 Then
Application.Goto Reference:="Seite2"
Selection.PrintOut Copies:=1, Collate:=True
If IsNumeric(Seite) = 3 Then
Application.Goto Reference:="Seite3"
Selection.PrintOut Copies:=1, Collate:=True
If IsNumeric(Seite) = 4 Then
Application.Goto Reference:="Seite4"
Selection.PrintOut Copies:=1, Collate:=True
'Else
'ActiveSheet.PrintOut From:=1, To:=4, Copies:=1
End If
End If
End If
End If
End Sub

Ich komm irgendwie nicht drauf, wo das Problem liegt, es kommt zwar die Abfrage, aber egal es ich eintrage, es wird nichts gedruckt.
Danke für eure Hilfe

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Lösungsansätze
09.03.2012 15:49:51
Sheldon
Hallo Stephan,
leider hast du (noch) keine Beispielmappe hochgeladen, ich will das jetzt nicht alles nachbauen. Aber auch so kann ich schon sehen, dass der Code wohl nicht funktionieren wird. Mit der Do..Loop-Schleife kann ich mich anfreunden, aber die If-Abfragen funktionieren nicht so, wie ich glaube dass du willst. Zunächst: Isnumeric(Seite) = 1 ergibt true, wenn Seite ein numerischer Wert ist. Das stellt deine Do..Loop-Schleife ja schon sicher. Nimm also das Isnumeric() aus all deinen If-Bedingungen heraus.
Zweiter Punkt: Die erste If-Schleife ist noch nicht beendet, da beginnst du schon mit der zweiten und so weiter. Schließe entweder jede If-Schleife mit einem End If, oder beginne die nächste mit ElseIf, was in diesem Fall der korrektere Weg wäre, da du nur zwischen unterschiedlichen Werten unterscheiden willst.
Dritter Punkt: Selection.Printout wird vermutlich was anderes rausbringen als Activesheet.Printout. Und nur in der Else-Bedingung hast du auskommentiert From:=1 To:=4 notiert, was für mich als einziges auf eine Seitenzahl hinzudeuten scheint. Wie wärs statt dessen also mit dem einfachen Befehl
Activesheet.PrintOut From:=Seite To:= Seite Copies:=1
und keine If-Schleife. Klappt das?
Sonst bitte eine Beispielmappe hochladen.
Gruß
Sheldon
Anzeige
AW: Drucken per Inputbox
09.03.2012 20:38:41
CitizenX
Hi,

Option Explicit
Sub PrintSelection()
Dim SelectedPage, oSht As Object
If MsgBox("Drucken?", vbYesNo, "Drucken") = vbYes Then
SelectedPage = Application.InputBox("Welche Seite ?", "Drucken", Type:=1)
If SelectedPage = CStr(False) Then Exit Sub
Set oSht = ThisWorkbook.Sheets(Choose(SelectedPage, "Tabelle1", "Tabelle2", "Tabelle3")) _
'Tabellennamen anpassen
oSht.PrintOut
End If
Set oSht = Nothing
End Sub
Grüße
Steffen
Erweiterung
09.03.2012 20:49:12
CitizenX
..hiermit kannst du den zu druckenden Bereich auswählen:
Sub PrintSelection()
Dim SelectedPage, SelRange As Range, oSht As Object
If MsgBox("Drucken?", vbYesNo, "Drucken") = vbYes Then
SelectedPage = Application.InputBox("Welche Seite ?", "Drucken", Type:=1)
If SelectedPage = CStr(False) Then Exit Sub
Set oSht = ThisWorkbook.Sheets(Choose(SelectedPage, "Tabelle1", "Tabelle2", "Tabelle3")) _
'Tabellennamen anpassen
oSht.Activate
On Error Resume Next
Set SelRange = Application.InputBox("Bitte Bereich markieren", "Drucken", Type:=8)
On Error GoTo 0
If Not SelRange Is Nothing Then
SelRange.PrintOut
End If
End If
Set oSht = Nothing
Set SelRange = Nothing
End Sub

Grüße
Steffen
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige