Text-Index: 107300
Thema: Dialog
Betrifft: Dialog für Blatt-Druckauswahl generieren und löschen
habe folgendes Problem:
Beim klick auf einen Button öffnet sich ein Fenster, dass mir alle Arbeitsblätter zum Auswählen (haken setzen/löschen) angibt.
Weiterhin gibt es in diesem Fenster einen OK und Abbrechen Button, die aber anscheinend nicht definiert sind. So passiert es, dass beim klick auf Abbrechen die ausgewählten Formulare trotzdem gedruckt werden.
Wer kann mir das Listing vervollständigen, damit beim klick auf Abbrechen das Fenster gekillt wird und keine Druckausgabe erfolgt (Bin VBA Leihe)?
Es ist zu finden auf dieser Page unter:
Text-Index: 107300
Thema: Dialog
Betrifft: Dialog für Blatt-Druckauswahl generieren und löschen
Hier trotzdem mein Auszug:
Private Sub CommandButton1_Click()
Dim shAktuell As Worksheet
Dim dlgSheet As DialogSheet
Dim chkBox As CheckBox
Dim cmdButton As Button
Dim Blaetter(), Druck()
Dim i%, y%
Application.ScreenUpdating = False
For Each shAktuell In ThisWorkbook.Worksheets
y = y + 1
ReDim Preserve Blaetter(y)
Blaetter(y) = shAktuell.Name
Next shAktuell
Set dlgSheet = DialogSheets.Add
With dlgSheet.DialogFrame
.Left = 0
.Top = 0
.Caption = "Druckauswahl"
.Width = 130
End With
y = 20
For i = 1 To UBound(Blaetter)
Set chkBox = dlgSheet.CheckBoxes.Add(35, y, 80, 15)
chkBox.Caption = UCase(Blaetter(i))
y = y + 15
Next i
With dlgSheet
With .Buttons(1)
.Left = 5
.Top = y + 10
.Width = 60
.Height = 20
End With
With .Buttons(2)
.Left = 70
.Top = y + 10
.Width = 60
.Height = 20
End With
.DialogFrame.Height = y + 40
.CheckBoxes(1).Value = xlOn
.Show
y = 0
For i = 1 To .CheckBoxes.Count
If .CheckBoxes(i).Value = xlOn Then
y = y + 1
ReDim Preserve Druck(y)
Druck(y) = .CheckBoxes(i).Caption
End If
Next i
For i = 1 To y
Worksheets(Druck(i)).PrintOut
Next i
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Vielen Dank im Voraus,
Oliver Olt