Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
788to792
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
788to792
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige