Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
724to728
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
724to728
724to728
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Drucken nur über Button ermöglichen

Drucken nur über Button ermöglichen
27.01.2006 19:40:00
Korl
Hallo,
ich habe mir einen Button angelegt mit den ausschließlich der Druckauftrag ausgelöst werden soll.
Wie kann ich die allgemeine Druckmöglichkeit in Excel auf "Visible" setzen?
Gruß Korl

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Drucken nur über Button ermöglichen
27.01.2006 19:52:33
Korl
Hallo liebe Helfer,
ich habe es doch noch in der Recherche finden können!

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = True
End Sub

Gruß Korl
AW: Drucken nur über Button ermöglichen
27.01.2006 20:08:08
Hajo_Zi
Hallo Korl,
hast Du das getestet? Ich vermute mal über ein Button kannst Du nicht Drucken. Da ja jeder Druck abgebrochen wird.
Link zur Datei

Anzeige
AW: Drucken nur über Button ermöglichen
27.01.2006 20:30:20
Korl
Hallo Hajo,
tja Hajo, was soll ich sagen, ich war mal wieder zu hitzig. ;-)
Habs versucht in meiner naiven Art:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If UserForm1.CommandButton1 = Click Then
Cancel = False
Else
Cancel = True
End If
End Sub

Der Debugger sagt: Fehler beim Kompilieren und zeigt auf "Click"
Könntes Du mir eventuell weiter helfen?
Ich habe im Tabellenblatt einen Button, mit dem ich meine Userform aufrufe. Wähle dort in der Combobox einen Wert aus der verwendet wird um die Tabelle mittels "Autofilter" zu filtern.
Dann soll gedruckt werden.
Gruß Korl
Anzeige
AW: Drucken nur über Button ermöglichen
27.01.2006 20:33:29
Hajo_Zi
Hallo Korl,
hast Du Dir mein Beispiel angesehen?
Gruß Hajo
AW: Drucken nur über Button ermöglichen
27.01.2006 20:50:55
Korl
Hallo Hajo,
Danke für Deine Nachfrage, ja, ich habs mir angesehen und versuche mich daran.
Hier zunächst mein Code:
Private Sub CommandButton1_Click()
UserForm1.Show
'**************************************************
'* H. Ziplies *
'* 20.03.03 *
'* erstellt von Hajo.Ziplies@web.de *
'* http://home.media-n.de/ziplies/ *
'* *
'**************************************************
    Druck = True
    ActiveSheet.PrintOut
End Sub
Private Sub CommandButton1_Click()
'OK Button
Dim lLetzteT As Long
Set wksT = Worksheets("Tabelle1")
lLetzteT = IIf(wksT.Range("D65536") <> "", 65536, wksT.Range("D65536").End(xlUp).Row)
Application.ScreenUpdating = False 'Bildschirmauffrischung abschalten
If ComboBox1.Value = "" Then
        MsgBox ("Es muß schon eine Kehrbezirksnummer ausgesucht werden,") & vbLf & " " _
        & vbLf & "die dann übernommen werden soll !"
        Exit Sub
      Else
      wksT.Range("A1:G" & lLetzteT).AutoFilter Field:=5, Criteria1:=ComboBox1.Value
      ActiveSheet.PageSetup.PrintArea = "A1:G" & lLetzteT + 4
 
Call Rahmen_setzen_gestrichelt
      
      ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
      wksT.Range("A1:G" & lLetzteT + 4).AutoFilter Field:=5
  End If
Call Rahmen_entfernen
Unload Me
Application.ScreenUpdating = True 'Bildschirmauffrischung einschalten
End Sub
     Code eingefügt mit Syntaxhighlighter 1.14


Der Code druck jetzt die gefilterte Tabelle und anschließend die ganze Tabelle nochmal.
Hajo, könntest Du Dir das vielleicht nochmal ansehen?
Gruß Korl
Anzeige
AW: Drucken nur über Button ermöglichen
27.01.2006 21:42:16
Korl
Hallo Hajo,
ich habe es jetzt im Button der UF eingebaut. Und zwar so:
Private Sub CommandButton1_Click()
'OK Button
Dim lLetzteT As Long
Set wksT = Worksheets("Tabelle1")
lLetzteT = IIf(wksT.Range("D65536") <> "", 65536, wksT.Range("D65536").End(xlUp).Row)
Application.ScreenUpdating = False 'Bildschirmauffrischung abschalten
If ComboBox1.Value = "" Then
  MsgBox ("Es muß schon eine Kehrbezirksnummer ausgesucht werden,") & vbLf & " " _
         & vbLf & "die dann übernommen werden soll !"
    Exit Sub
      Else
        wksT.Range("A1:G" & lLetzteT).AutoFilter Field:=5, Criteria1:=ComboBox1.Value
        ActiveSheet.PageSetup.PrintArea = "A1:G" & lLetzteT + 4
        Call Rahmen_setzen_gestrichelt
               
        Druck = True
        
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
        wksT.Range("A1:G" & lLetzteT + 4).AutoFilter Field:=5
        Call Rahmen_entfernen
    End If
Unload Me
ActiveSheet.PrintOut
Druck = False
Application.ScreenUpdating = True 'Bildschirmauffrischung einschalten
End Sub
     Code eingefügt mit Syntaxhighlighter 1.14


Er druck mir jetzt schon was ich im Grunde haben wollte aber es wird zum Schluß Deine
MsgBox angezeigt.
Er versucht quasi zweimal zu drucken?
Hajo, ich gönne Dir Deinen Feierabend, es eilt bei mir auch nicht.
Leider kann ich erst ab Sonntagnachmittag wieder Online sein.
Ich wünsche ein erholsames Wochenende.
Gruß Korl
Anzeige
AW: nicht von Hajo:
27.01.2006 22:20:26
Korl
Hallo HansHei,
danke für Deine Mühe, es trifft es leider nicht.
Der Code macht das ganze Mühe "Datei" dicht, über den Button "Drucken" in der Symbolleiste kann man trotzdem drucken.
Gruß Korl
AW: alles weg
27.01.2006 23:18:10
Korl
Hallo HansHei,
Du bist ja ein ganz brutaler Bursche ;-))
Ich bin ja noch am testen, sollte aber die letzte Lösung für mich sein, trotzdem danke.
Ich stelle hier mal meine Testdatei rein. Wenn jemand die Muhse hat, nur ran.
https://www.herber.de/bbs/user/30458.xls
Gruß Korl
PS: melde mich erstmal ab, bin frühesten Sonntagnachmittag wieder Online.
AW: alles weg
28.01.2006 06:38:28
Hajo_Zi
Hallo Korl,

Private Sub CommandButton1_Click()
'OK Button
Dim lLetzteT As Long
Set wksT = Worksheets("Tabelle1")
lLetzteT = IIf(wksT.Range("D65536") <> "", 65536, wksT.Range("D65536").End(xlUp).Row)
Application.ScreenUpdating = False 'Bildschirmauffrischung abschalten
If ComboBox1.Value = "" Then
MsgBox ("Es muß schon eine Kehrbezirksnummer ausgesucht werden,") & vbLf & " " _
& vbLf & "die dann übernommen werden soll !"
Exit Sub
Else
wksT.Range("A1:G" & lLetzteT).AutoFilter Field:=5, Criteria1:=ComboBox1.Value
ActiveSheet.PageSetup.PrintArea = "A1:G" & lLetzteT + 4
Call Rahmen_setzen_gestrichelt
Druck = True
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Druck = False
wksT.Range("A1:G" & lLetzteT + 4).AutoFilter Field:=5
Call Rahmen_entfernen
End If
Application.ScreenUpdating = True 'Bildschirmauffrischung einschalten
Unload Me
End Sub

Gruß Hajo
Anzeige
AW: alles weg
29.01.2006 11:50:51
Korl
Hallo Hajo,
hab vielen Dank für Deine Mühe, es läuft jetzt ordentlich.
Ich wünsche Dir noch einen schönen Sonntag!
Gruß Korl

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige