Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Frame
BildScreenshot zu Frame Frame-Seite mit Beispielarbeitsmappe aufrufen

Abbrechen keine Funktion



Excel-Version: 9.0 (Office 2000)

Betrifft: Abbrechen keine Funktion
von: Oliver Olt
Geschrieben am: 07.06.2002 - 11:49:24

Hallo zusammen,

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

  

Re: Abbrechen keine Funktion
von: Hans W. Herber
Geschrieben am: 08.06.2002 - 03:48:11

Hallo Oliver,

mein Fehler war, dass ich nach dem Dialogaufruf nicht abprüfen ließ, mit welcher Schaltfläche das Schließen des Dialogs erfolgte. Die kritische Stelle ist zu korrigieren in:


    If Application.Caller = "OK" Then
      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
    End If

hans

 

Beiträge aus den Excel-Beispielen zum Thema "Abbrechen keine Funktion"