Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Druck über UserForm

Forumthread: Druck über UserForm

Druck über UserForm
06.08.2006 18:25:13
Heinz
Hallo Leute
Habe unteren Code zum ausdrucken verschiedener Blätter über eine UserForm.
Könnte man den Code nicht anders gestalten.
Den ich habe die Blätter versteckt beim Druck werden zuerst alle Blätter sichtbar dann druck und dann Blätter wieder versteckt.
Ist ein wenig unübersichtlich das ganze.
Danke & Gruss, Heinz

Private Sub CheckBox10_Click()
'Dim Worksheet As Object
'Blattnamen jeweils anpassen!
Sheets("311").Visible = True
If CheckBox1 Then Sheets("311").PrintOut
Sheets("311").Visible = False
Sheets("312A").Visible = True
If CheckBox2 Then Sheets("312A").PrintOut
Sheets("312A").Visible = False
Sheets("312B").Visible = True
If CheckBox2 Then Sheets("312B").PrintOut
Sheets("312B").Visible = False
Sheets("321").Visible = True
If CheckBox4 Then Sheets("321").PrintOut
Sheets("321").Visible = False
Sheets("322").Visible = True
If CheckBox5 Then Sheets("322").PrintOut
Sheets("322").Visible = False
Sheets("331").Visible = True
If CheckBox6 Then Sheets("331").PrintOut
Sheets("331").Visible = False
Sheets("332").Visible = True
If CheckBox7 Then Sheets("332").PrintOut
Sheets("332").Visible = False
Sheets("333").Visible = True
If CheckBox8 Then Sheets("333").PrintOut
Sheets("333").Visible = False
If CheckBox9 = True Then
Dim anzahl As Integer
Dim start As Integer
Dim i As Integer 'Wählt alle Tabellenblätter vom 3. bis zum letzten aus
start = 3
anzahl = Sheets.Count
For i = start To anzahl
Sheets(i).Visible = True
Next i
Dim blaetter
Dim B As Integer
blaetter = Array("311", "312A", "312B", "321", "322", "331", "332", "333")
For B = 0 To UBound(blaetter)
Sheets(blaetter(B)).PrintOut
Next
Dim anzahl2 As Integer
Dim start2 As Integer
Dim i2 As Integer 'Wählt alle Tabellenblätter vom 3. bis zum letzten aus
start2 = 3
anzahl2 = Sheets.Count
For i2 = start2 To anzahl2
Sheets(i2).Visible = False
Next i2
End If
Unload Me
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Druck über UserForm
06.08.2006 18:51:05
Josef
Hallo Heinz!
Private Sub CheckBox10_Click()
Dim intIndex As Integer
Dim blaetter As Variant

On Error GoTo errexit
Application.ScreenUpdating = False

blaetter = Array("311", "312A", "312B", "321", "322", "331", "332", "333")

If CheckBox1 Then
  With Sheets("311")
    .Visible = True
    .PrintOut
    .Visible = False
  End With
End If

If CheckBox2 Then
  With Sheets("312A")
    .Visible = True
    .PrintOut
    .Visible = False
  End With
End If

If CheckBox3 Then
  With Sheets("312B")
    .Visible = True
    .PrintOut
    .Visible = False
  End With
End If

If CheckBox4 Then
  With Sheets("321")
    .Visible = True
    .PrintOut
    .Visible = False
  End With
End If

If CheckBox5 Then
  With Sheets("322")
    .Visible = True
    .PrintOut
    .Visible = False
  End With
End If

If CheckBox6 Then
  With Sheets("331")
    .Visible = True
    .PrintOut
    .Visible = False
  End With
End If

If CheckBox7 Then
  With Sheets("332")
    .Visible = True
    .PrintOut
    .Visible = False
  End With
End If

If CheckBox8 Then
  With Sheets("333")
    .Visible = True
    .PrintOut
    .Visible = False
  End With
End If

If CheckBox9 Then
  For intIndex = 0 To UBound(blaetter)
    With Sheets(blaetter(intIndex))
      .Visible = True
      .PrintOut
      .Visible = False
    End With
  Next
End If

ErrEit:

Application.ScreenUpdating = True
Unload Me
End Sub



Gruß Sepp

Anzeige
AW: Druck über UserForm
06.08.2006 18:55:22
Heinz
Hallo Josef
Recht herzlichen Dank,für Deine Hilfe.
Werde es morgen in der Arbeit testen.
Gruss.Heinz
Noch kürzer
06.08.2006 19:55:31
Josef
Hallo Heinz!
Noch kürzer und übersichtlicher.
Private Sub CheckBox10_Click()
Dim intIndex As Integer
Dim blaetter As Variant

On Error GoTo errexit
Application.ScreenUpdating = False

blaetter = Array("311", "312A", "312B", "321", "322", "331", "332", "333")

For intIndex = 0 To UBound(blaetter)
  If Controls("CheckBox" & CStr(intIndex + 1)) Then
    With Sheets(blaetter(intIndex))
      .Visible = True
      .PrintOut
      .Visible = False
    End With
  End If
Next

If CheckBox9 Then
  For intIndex = 0 To UBound(blaetter)
    With Sheets(blaetter(intIndex))
      .Visible = True
      .PrintOut
      .Visible = False
    End With
  Next
End If

ErrEit:

Application.ScreenUpdating = True
Unload Me
End Sub


Gruß Sepp

Anzeige
AW: Noch kürzer
08.08.2006 14:18:37
Heinz
Hallo Josef
Habe es heute in der Firma getestet.
Funkt. Super
Recht herzlichen Dank
Gruss,Heinz
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige