Clever-Excel-Forum

Normale Version: Mehrere Checkboxes abfragen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

Ich habe folgendes Problem, bei dem ich nicht ganz weiter komme: Ich habe vier CheckBoxes: 1) EUR 2) Lokale Währung 3) Bilanz 4) GuV.
Das Ziel ist folgendes: Wenn 1,2 und 3 angewählt ist, sollen alle Bilanzen (werden auf verschiedenen Blättern abgebildet) in Euro und lokaler Währung angezeigt werden. Gleiches gilt für die GuV bei 1,2 und 4. Des Weiteren soll es aber auch möglich sein nur die Bilanzen in Euro oder lokaler Währung angezeigt zu bekommen. 
Der Grund warum ich mit den Checkboxes arbeite, ist die enorme Anzahl an Reitern. Die Datei soll für den Empfänger übersichtlich gehalten werden.

Der aktuelle Code den ich verwende bezieht sich leider nur auf eine Bedingung (alles in Euro):

Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
    Sheets("P&L EUR").Visible = True
    Sheets("BS EUR").Visible = True
    Else
    Sheets("P&L EUR").Visible = False
    Sheets("BS EUR").Visible = False
End If
End Sub

   
Vielen Dank & viele Grüße
Hallöchen,

Du kannst einfach mehrere Bedingungen mit logischen Operatoren verknüpfen, Klammersetzung ist auch möglich ...

z.b.
If CheckBox1.Value = True And CheckBox2.Value = True And CheckBox3.Value = True Then

oder
If CheckBox1.Value = True Or CheckBox2.Value = True Or CheckBox3.Value = True Then

oder
If CheckBox1.Value = True And (CheckBox2.Value = True Or CheckBox3.Value = True) Then

...
Vielen Dank für Deine Antwort :)

Kann Ich denn 3 Bedingungen einem Button zuweisen? Sprich:

If CheckBox1.Value = True And CheckBox2.Value = True And CheckBox3.Value = True Then
    Sheets("BS EUR").Visible = True
    Sheets("BS LC").Visible = True
    Else
    Sheets("BS EUR").Visible = False
    Sheets("BS LC").Visible = False
End If
If CheckBox1.Value = True And CheckBox2.Value = False And CheckBox3.Value = True Then
    Sheets("BS EUR").Visible = True
    Else
    Sheets("BS EUR").Visible = False
End If
If CheckBox1.Value = False And CheckBox2.Value = True And CheckBox3.Value = True Then
    Sheets("BS LC").Visible = True
    Else
    Sheets("BS LC").Visible = False
End If
End Sub

Er soll also checken, welche von diesen drei Fallen zutreffend ist, bzw. ausgewählt wurde.

Viele Dank & viele Grüße
Ja, kannst du, hierfür gibt es ElseIf. Dies kannst du anstatt Else verwenden und alles in eins verpacken.

Grüße Silcono
Hallo Silcono,

ElseIf gibt es bei mir leider nicht :/

Grüße
bzw. es kommt immer die Fehlermeldung: Fehler beim Kompilieren: Erwartet: Ausdruck
Gibt es schon.
Zeig doch mal deinen Code, nachdem du ihn bearbeitet hast.

Grüße
Private Sub CheckBox3_Click()
If CheckBox1.Value = True And CheckBox2.Value = True And CheckBox3.Value = True Then
    Sheets("P&L EUR (MTD)").Visible = True
    Sheets("P&L LC (MTD)").Visible = True
    ElseIf
    Sheets("P&L EUR (MTD)").Visible = False
    Sheets("P&L LC (MTD)").Visible = False
    End If
If CheckBox1.Value = True And CheckBox2.Value = False And CheckBox3.Value = True Then
    Sheets("P&L EUR (MTD)").Visible = True
    ElseIf
    Sheets("P&L EUR (MTD)").Visible = False
End If
ElseIf CheckBox1.Value = False And CheckBox2.Value = True And CheckBox3.Value = True Then
    Sheets("P&L LC (MTD)").Visible = True
    ElseIf
    Sheets("P&L LC (MTD)").Visible = False
End If
End Sub

Vielen Dank vorab für Deine Hilfe (Y)
Diese code reicht


Code:
    Sheets("BS EUR").Visible = CheckBox1* CheckBox2* CheckBox3
    Sheets("BS LC").Visible = not Sheets("BS EUR").Visible
Hallo,
wenn auch der Code von snb reicht, hier einmal die Abwandlung deiner Konstruktion mit ElseIffür künftige Anwendungen:

Private Sub CheckBox3_Click()
If CheckBox1.Value = True And CheckBox2.Value = True And CheckBox3.Value = True Then
    Sheets("P&L EUR (MTD)").Visible = True
    Sheets("P&L LC (MTD)").Visible = True
ElseIf CheckBox1.Value = True And CheckBox2.Value = False And CheckBox3.Value = True Then
    Sheets("P&L EUR (MTD)").Visible = True
ElseIf CheckBox1.Value = False And CheckBox2.Value = True And CheckBox3.Value = True Then
    Sheets("P&L LC (MTD)").Visible = True
End If
End Sub
Seiten: 1 2