Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Mehrere Checkboxes abfragen
#1
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
Antworten Top
#2
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

...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Goleo
Antworten Top
#3
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
Antworten Top
#4
Ja, kannst du, hierfür gibt es ElseIf. Dies kannst du anstatt Else verwenden und alles in eins verpacken.

Grüße Silcono
[-] Folgende(r) 1 Nutzer sagt Danke an silcono für diesen Beitrag:
  • Goleo
Antworten Top
#5
Hallo Silcono,

ElseIf gibt es bei mir leider nicht :/

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

Grüße
[-] Folgende(r) 1 Nutzer sagt Danke an silcono für diesen Beitrag:
  • Goleo
Antworten Top
#8
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)
Antworten Top
#9
Diese code reicht


Code:
    Sheets("BS EUR").Visible = CheckBox1* CheckBox2* CheckBox3
    Sheets("BS LC").Visible = not Sheets("BS EUR").Visible
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • Goleo
Antworten Top
#10
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
[Bild: attachment-190.gif]
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
[-] Folgende(r) 1 Nutzer sagt Danke an Glausius für diesen Beitrag:
  • Goleo
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste