mit checkboxen Buttons ein/aus blenden

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: mit checkboxen Buttons ein/aus blenden
von: Beat Ziörjen
Geschrieben am: 11.08.2015 15:00:31

Hallo
Nach gewissen anfangsschwierigkeiten bin ich nun etwas tiefer in VBA und schon stehe ich wieder an.
Ich möchte basierend einer Auswahl an Checkboxen, Buttons ein bzw. Ausblenden.
Wenn CheckBox1 aktiv dann soll der "DE" Button sichtbar sein
Wenn CheckBox2 aktiv dann soll der "EN" Button sichtbar sein, "DE" aber nicht.
Wenn CheckBox1 und 2 aktiv sind dann soll der Button "Alle Sprachen" sichtbar sein die beiden DE und EN Buttons aber unsichtbar.
etc. Ich habe 4 Checkboxen.
da gibt es eine vielzahl von erst selektirten Möglichkeiten. Ich habe nun begonnen dies im _
ersten CheckBox sub einzugeben aber irgendwie exportiert hier die Menge an code und es wird ä _ usserst unübersichtlich:


Public Sub CheckBox1_Change()
    'Wenn DE gewählt wird
    If Worksheets("LANG").CheckBox1.Value = True Then
        CommandButton1.Visible = True
        CommandButton2.Visible = False
        CommandButton3.Visible = False
    Else
        CommandButton1.Visible = False
    End If
    
    'Wenn DE und EN gewählt & FR und ES nicht gewählt sind
    If Worksheets("LANG").CheckBox1.Value = True And Worksheets("LANG").CheckBox2.Value = True   _
 _
 _
_
Then
        CommandButton1.Visible = False
        CommandButton2.Visible = True
        CommandButton3.Visible = False
    Else
        CommandButton2.Visible = False
    End If
    
    ' wenn DE und FR gewählt wird
    If Worksheets("LANG").CheckBox1.Value = True And Worksheets("LANG").CheckBox3.Value = True   _
 _
 _
_
Then
        CommandButton1.Visible = False
        CommandButton2.Visible = True
        CommandButton3.Visible = False
    Else
        CommandButton2.Visible = False
    End If
        
    ' wenn DE und ES gewählt wird
    If Worksheets("LANG").CheckBox1.Value = True And Worksheets("LANG").CheckBox4.Value = True   _
 _
 _
_
Then
        CommandButton1.Visible = False
        CommandButton2.Visible = True
        CommandButton3.Visible = False
    Else
        CommandButton2.Visible = False
    End If
    
        
    If Worksheets("LANG").CheckBox1.Value Then
    'Wenn Checkbox1 auf der Tabelle1 aktiviert ist, dann
    Worksheets("DE").Visible = True
    'Tabelle2 einblenden
    Else
    Worksheets("DE").Visible = False
    'ansonsten Tabelle2 ausblenden
    End If
End Sub

gibt es eine bessere Variante als diesen Code in allen 4 Check boxen zu wiederholen?
Mein code blendet gleichzeitg auch das entsprechende Tabellenblatt ein, dies Funktioniert aber einwandfrei.
Ich danke für eure Hilfe.
gruss beat

Bild

Betrifft: AW: mit checkboxen Buttons ein/aus blenden
von: Rudi Maintaire
Geschrieben am: 11.08.2015 15:28:28
hallo,
das kannst du ohne If mit reiner Logik machen.
Wenn CheckBox1 aktiv dann soll der "DE" Button sichtbar sein
Wenn CheckBox2 aktiv dann soll der "EN" Button sichtbar sein, "DE" aber nicht.
Wenn CheckBox1 und 2 aktiv sind dann soll der Button "Alle Sprachen" sichtbar sein die beiden DE und EN Buttons aber unsichtbar.

sieht etwa so aus:
cmdDE.visible=checkbox1 and not checkbox2
cmdEN.visible= checkbox2 and not checkbox1
cmdAlle.visible=checkbox1 and checkbox2
Gruß
Rudi

Bild

Betrifft: AW: mit checkboxen Buttons ein/aus blenden
von: Beat Ziörjen
Geschrieben am: 11.08.2015 16:01:09
Hallo Ruedi
Super, das funktioniert danke für die Rasche antwort!
gruss beat

 Bild

Beiträge aus den Excel-Beispielen zum Thema "mit checkboxen Buttons ein/aus blenden "