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 MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema OptionButton
BildScreenshot zu OptionButton OptionButton-Seite mit Beispielarbeitsmappe aufrufen

Formular mit Optionbutton u. Checkbox


Betrifft: Formular mit Optionbutton u. Checkbox von: Erwin
Geschrieben am: 09.08.2019 07:34:56

Guten Morgen,

ich muss einige Formulare von verschiedenen Standorten konsolidieren und möchte dies im ersten Schritt über eine UF machen.

Dazu habe ich zuerst eine Vorauswahl der Standorte über Optionbutton (es ist nur ein Standort möglich) gemacht, dann möchte ich zum gewählten Standort bestimmte Zellen ein/ausblenden und Texte anzeigen (mit Checkbox).

Ich habe mir aus Recherchen und Beiträgen ein Grundgerüst erstellt, mit dem ich weitermachen möchte; es sollte aber auch passen, damit ich keine Folgefehler mache.

Ist das so in Ordnung und ist auch die Reihenfolge (Errorhandler, Events, Calculation, ScreenUpdating, …) beim ein- und auch beim ausschalten richtig oder was kommt zuerst bzw. zuletzt?

Wie mache ich es, wenn Optionbutton 1 geklickt ist, dass ich z. B. nur Checkbox 2 und 3 zum anhaken zulasse?

Hier die Beispielsdatei: https://www.herber.de/bbs/user/131342.xlsm

Schon mal herzlichen Dank für’s prüfen / korrigieren und euere Hinweise dazu.

Grüße - Erwin

  

Betrifft: AW: Formular mit Optionbutton u. Checkbox von: ede
Geschrieben am: 09.08.2019 08:59:33

Hallo Erwin,
so zum Beispiel:


Private Sub OptionButton1_Change()
'erstmal alle wieder sichtbar
CheckBox1.Enabled = True
CheckBox2.Enabled = True
CheckBox3.Enabled = True
CheckBox4.Enabled = True
' wenn gesetzt
If OptionButton1 Then
    CheckBox1.Enabled = False
    CheckBox4.Enabled = False
End If
End Sub

gruss
ede


  

Betrifft: AW: Formular mit Optionbutton u. Checkbox von: Erwin
Geschrieben am: 09.08.2019 09:10:56

Moin Ede,

danke für deinen Code, den werde ich dann gleich ausprobieren.

Damit fehlt mir noch die Antwort auf die 1. Frage nach der Reihenfolge bestimmter Codeteile (Errorhandler, Events, Calculation, ScreenUpdating, …) beim ein- und auch beim ausschalten.

Wer sich da noch ranwagt ist herzlich willkommen.

Grüße - Erwin


  

Betrifft: AW: Formular mit Optionbutton u. Checkbox von: EtoPHG
Geschrieben am: 09.08.2019 11:58:43

Hallo Erwin,

Das ganze könnte man etwas kompakter schreiben.
Im Modul Passwort_raus

Public Const c_PWD As String = "007"
Sub Passwort_raus()
    ActiveSheet.Unprotect c_PWD
End Sub

Im Klassenmodul der Reservierung Userform
'"Reservierung" starten
Private Sub CommandButton1_Click()

    On Error GoTo Errorhandler

    Application.EnableEvents = False                    'Events ausschalten
    Application.Calculation = xlCalculationManual       'keine Berechnungen durchführen
    Application.ScreenUpdating = False                  'keine Bildschirmaktualisierung

    With Worksheets("Tabelle1")
        '======================================================================================
        ' Schutz ausschalten
        .Unprotect c_PWD
        '======================================================================================
        ' Alles verstecken
        .Rows("11:20").Hidden = True
        .Rows("21:30").Hidden = True
        .Rows("31:40").Hidden = True
        '======================================================================================
        ' Test OptionButtons
        If OptionButton1 Then
            .Rows("11:20").Hidden = False
            .Cells(4, 2) = Application.UserName
        End If
        If OptionButton2 Then
            .Rows("21:30").Hidden = False
            .Cells(6, 2) = Application.UserName
        End If
        If OptionButton3 Then
            .Rows("31:40").Hidden = False
            .Cells(8, 2) = Application.UserName
        End If
        '======================================================================================
        ' Test Checkboxen
        If CheckBox1 Then .Cells(8, 4) = "checkbox 1 texteintrag"
        '======================================================================================
        ' Schutz einschalten
        .Protect c_PWD, DrawingObjects:=True, Contents:=True, Scenarios:=True
        '======================================================================================
        'UF schließen
        Me.Hide
    End With
        '======================================================================================
        'Check for errors
Errorhandler:
    With Err
     Select Case .Number
       Case 0 'alles OK
       Case 13 'Inputbox für Zellauswahl wurde abgebrochen
       Case Else
         MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
     End Select
    End With
    '======================================================================================
    'Restore Events/Calculation/Screenupdating
    Application.EnableEvents = True                     'Events einschalten
    Application.Calculation = xlCalculationAutomatic    'Berechnungen wieder automatisch
    Application.ScreenUpdating = True                   'Bildschirmaktualisierung einschalten
End Sub

'======================================================================================
'"Reservierung" abbrechen
Private Sub CommandButton2_Click()          'Button Abbrechen
    Me.Hide                                 'UF schließen
End Sub
'======================================================================================
' Beispiel Optionbutton1 soll nur checkbox2 und 3 zulassen
Private Sub OptionButton1_Change()
      CheckBox2.Enabled = OptionButton1
      CheckBox3.Enabled = OptionButton1
End Sub
'======================================================================================
' Initialisierung beim userform_Activate
Private Sub UserForm_Activate()
    OptionButton1 = False
    OptionButton2 = False
    OptionButton3 = False
    OptionButton4 = False
    CheckBox1.Enabled = False
    CheckBox2.Enabled = False
    CheckBox3.Enabled = False
    CheckBox4.Enabled = False
End Sub
Gruess Hansueli


  

Betrifft: AW: Formular mit Optionbutton u. Checkbox von: Erwin
Geschrieben am: 09.08.2019 13:09:22

Hallo Hansueli,

vielen Dank für's drüberschauen, Gedanken machen und programmieren.
Bin grade unterwegs und werde es heute Abend genauer ansehen.
Grüße - Erwin


  

Betrifft: P.S. zur Prozedur UserForm_Activate von: EtoPHG
Geschrieben am: 09.08.2019 14:06:42

Hallo Erwin,

Die Prozedur UserForm_Activate() kannst du auch weglassen, wenn du im Entwurfsmodus der Userform die Eigenschaften aller Optionbuttons Values = False und aller Checkboxen Enable = False setzest.

Gruess Hansueli


Beiträge aus dem Excel-Forum zum Thema "Formular mit Optionbutton u. Checkbox"