Thema Datum  Von Nutzer Rating
Antwort
Rot Druckauswahl über Checkbox
16.01.2012 15:31:40 UCB
NotSolved

Ansicht des Beitrags:
Von:
UCB
Datum:
16.01.2012 15:31:40
Views:
2915
Rating: Antwort:
  Ja
Thema:
Druckauswahl über Checkbox

Hallo!
Ich habe auf Blatt 1 Checkbox1 bis 7 mit denen ich die Sichtbarkeit der nachfolgenden Arbeitsblätter 2-8 einstelle. Jetzt habe ich unter den Checkboxes ein Formular-Steuerelement-Button, mit dem ich die sichtbaren Blätter drucken möchte. (Hinweis: nach den betreffenden Blättern folgen weitere, die zwar immer sichtbar sind, aber nur manuell ausgedruckt werden können sollen)

Hier mein Versuch, der aber leider bei inaktiven CheckBoxen nicht funktioniert:

1. Zunächst die Steuerung der SIchtbarkeit der Arbeitsblätter (hier als Bsp. Checkbox 3):

<SPAN class=Norm><SPAN class=Vb>Private Sub</SPAN> CheckBox3_Click()
<SPAN class=Vb>If</SPAN> CheckBox3 = <SPAN class=Vb>True Then</SPAN>
    Worksheets("Abs3").Visible = <SPAN class=Vb>True</SPAN>
<SPAN class=Vb>Else</SPAN>
    Worksheets("Abs3").Visible = <SPAN class=Vb>False</SPAN>
<SPAN class=Vb>End If</SPAN>
<SPAN class=Vb>End Sub</SPAN></SPAN>

2. Dann der Code zum Drucken (Sheet 1 immer; Sheet 2-8 je nach Ergebnis CheckBox 1-7)

<SPAN class=Norm><SPAN class=Vb>Sub</SPAN> Drucken()
<SPAN class=Vb>Dim</SPAN> intSh <SPAN class=Vb>As Integer</SPAN>
<SPAN class=Vb>Dim</SPAN> Msg <SPAN class=Vb>As String</SPAN>
<SPAN class=Vb>Dim</SPAN> intX <SPAN class=Vb>As Integer</SPAN>
<SPAN class=Vb>Dim</SPAN> vntSheets() <SPAN class=Vb>As Variant</SPAN>
 
Application.ScreenUpdating = <SPAN class=Vb>False</SPAN>
intX = intX + 1
<SPAN class=Vb>ReDim Preserve</SPAN> vntSheets(1 <SPAN class=Vb>To</SPAN> intX)
vntSheets(intX) = ActiveWorkbook.Worksheets(intX).Name
Msg = Msg & ActiveWorkbook.Worksheets(intX).Name & vbCr
    
<SPAN class=Vb>For</SPAN> intSh = 1 <SPAN class=Vb>To</SPAN> 7
    <SPAN class=Vb>If</SPAN> CheckBox & (intSh) = <SPAN class=Vb>True Then</SPAN>
        intX = intX + 1
        <SPAN class=Vb>ReDim Preserve</SPAN> vntSheets(1 <SPAN class=Vb>To</SPAN> intX)
        vntSheets(intX) = ActiveWorkbook.Worksheets(intSh + 1).Name
        Msg = Msg & vntSheets(intX) & vbCr
    <SPAN class=Vb>End If</SPAN>
<SPAN class=Vb>Next</SPAN>
ActiveWorkbook.Sheets(vntSheets).<SPAN class=Vb>Select</SPAN>
Application.Dialogs(xlDialogPrint).Show
Application.ScreenUpdating = <SPAN class=Vb>True</SPAN>
Sheets("Deckblatt").<SPAN class=Vb>Select</SPAN>
MsgBox "Folgende Seiten wurden gedruckt:" & vbCr & vbCr & Msg
<SPAN class=Vb>End Sub</SPAN></SPAN>

Sind alle CheckBoxen aktiviert, funktioniert alles prima. Ist aber auch schon eine deaktiviert kommt die Fehler-Meldung "400". Was ist falsch am Code?
Danke für eure Hilfe!
~

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Druckauswahl über Checkbox
16.01.2012 15:31:40 UCB
NotSolved