PDA

Vollständige Version anzeigen : Bestimmte Blätter durch Checkbox drucken -> nichts funktioniert :(


Daniel N
11.07.2012, 10:53
Hallöschen :)

Habe mir durch googlen und etwas Eigenwissen ein Script gebastelt, dass irgendwie nicht funktioniert:

Dim dps As Boolean

Private Sub cmdDrucken_Click()
drucken
Unload Me
End Sub

Sub drucken()
If chkGesamt.Value = True Then
If chkVerliehen.Value = True Then
dps = Application.Dialogs(xlDialogPrinterSetup).Show
If Not dp Then
Exit Sub
End If
Sheets(Array("Gesamtübersicht Hardware", "Verliehene Hardware")).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Else
dps = Application.Dialogs(xlDialogPrinterSetup).Show
If Not dp Then
Exit Sub
End If
Sheets("Gesamtübersicht Hardware").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If
ElseIf chkVerliehen.Value = True Then
dps = Application.Dialogs(xlDialogPrinterSetup).Show
If Not dp Then
Exit Sub
End If
Sheets("Verliehene Hardware").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Else
MsgBox ("Keine Blätter zum Drucken ausgewählt. Vorgang wird abgebrochen")
End If
End Sub


Wenn sich das Formular öffnet kann ich die Checkboxen "abhaken" und beim Klick auf drucken den Drucker auswählen.
Problem war, dass ich selbst bei nem Klick auf Abbrechen einen Ausdruck bekommen habe.
Mithilfe von Onkel google habe ich dann das (ich nenne es mal so) "dps Script" gefunden. Jetzt macht er aber nichts mehr, ausser sich nach Bestätigen oder Abbrechen "unloaden".

Leider fehlen mir die Kenntnisse um den Fehler zu finden :/

P.S.: Ausserdem denke ich, dass es insgesamt bestimmt einfacher geht als mit den ganzen IFs, aber auch dafür fehlen mir die Kenntnisse. Wenn jemand ne optimierungsidee hat bin ich dankbar :)
Die Tabelle besteht eigentlich aus 3 Blättern, das 3. soll aber nicht zum Druck freigegeben sein.

Daniel N
12.07.2012, 08:00
Hab den Fehler glaube ich selbst gefunden.

Einfach
"If Not dp Then"
durch
"If Not dps Then"
ersetzt.

Jetzt läuft es, wenn trotzdem noch jemand eine Optimierung sieht bin ich dankbar :)