Und / Oder Verknüpfung

  • Excel

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von daytona.

    Und / Oder Verknüpfung

    Hallo,

    hab folgendes Problem: Hab ne Richtig-Falschabfrage. In Textbox 2 müssen Werte korrekt eingegeben werden und werden dann mit Trans 2 bis Trans 4 vergliechen. wenn ich jedoch gar nichts in die Textbox2 eingeben und dann die Eingabe überprüfe zeigt er falsch an. Wie kann ich dies ändern?

    Visual Basic-Quellcode

    1. Trans1 = Cells(x, 2).Value
    2. Trans2 = Cells(x, 3).Value
    3. Trans3 = Cells(x, 4).Value


    Visual Basic-Quellcode

    1. With frm
    2. If .TextBox2.Value = Trans1 Or .TextBox2.Value = Trans2 Or .TextBox2.Value = Trans3 Then
    3. .CheckBox1.Value = True
    Hi, hab jetzt folgendes:

    Visual Basic-Quellcode

    1. With frm
    2. If .TextBox2.Value <> "" Then
    3. If .TextBox2.Value = Trans1 Or .TextBox2.Value = Trans2 Or .TextBox2.Value = Trans3 Then
    4. .CheckBox1.Value = True
    5. .CheckBox1.BackColor = vbGreen
    6. Else
    7. .CheckBox2.Value = True
    8. .CheckBox2.BackColor = vbRed
    9. End If
    10. End If


    jetzt zeigt er weder falsch noch richtig an??? hab ich etwas falsch verstanden??
    Dann hab ich wohl was falsch verstanden. Ich dachte, das wolltest du.

    Fallso du willst, das er bei leerer TextBox "richtig" anzeigt kannst du es so machen:

    Visual Basic-Quellcode

    1. With frm
    2. If .TextBox2.Value = "" Or .TextBox2.Value = Trans1 Or .TextBox2.Value = Trans2 Or .TextBox2.Value = Trans3 Then
    3. .CheckBox1.Value = True
    4. .CheckBox1.BackColor = vbGreen
    5. Else
    6. .CheckBox2.Value = True
    7. .CheckBox2.BackColor = vbRed
    8. End If


    Mit "Select Case" würde es jedoch eleganter gehen:

    Visual Basic-Quellcode

    1. With frm
    2. Select Case .TextBox2.Value
    3. Case "", Trans1, Trans2, Trans3
    4. .CheckBox1.Value = True
    5. .CheckBox1.BackColor = vbGreen
    6. Case Else
    7. .CheckBox2.Value = True
    8. .CheckBox2.BackColor = vbRed
    9. End Select
    Jetzt verstehe ich gar nichts mehr. ?(

    Oben schreibst du:

    wenn ich jedoch gar nichts in die Textbox2 eingeben und dann die Eingabe überprüfe zeigt er falsch an. Wie kann ich dies ändern?


    Jetzt schreibst du:

    -->>>> und wenn er bei leerer Textbox "falsch" anzeigen soll???


    Wenn das zweite Zitat zutrifft, müsste es so gehen:

    Visual Basic-Quellcode

    1. With frm
    2. Select Case .TextBox2.Value
    3. Case Trans1, Trans2, Trans3
    4. .CheckBox1.Value = True
    5. .CheckBox1.BackColor = vbGreen
    6. Case Else
    7. .CheckBox2.Value = True
    8. .CheckBox2.BackColor = vbRed
    9. End Select


    Essei denn, Trans1, Trans2 oder Trans3 ist leer.

    Soll dieser Fall auch berücksichtigt werden, müsste es hiermit funktionieren:

    Visual Basic-Quellcode

    1. With frm
    2. Select Case .TextBox2.Value
    3. Case Trans1, Trans2, Trans3
    4. If .TextBox2.Value = "" Then
    5. .CheckBox2.Value = True
    6. .CheckBox2.BackColor = vbRed
    7. Else
    8. .CheckBox1.Value = True
    9. .CheckBox1.BackColor = vbGreen
    10. End If
    11. Case Else
    12. .CheckBox2.Value = True
    13. .CheckBox2.BackColor = vbRed
    14. End Select


    oder

    Visual Basic-Quellcode

    1. With frm
    2. If .TextBox2.Value <> "" And (.TextBox2.Value = Trans1 Or .TextBox2.Value = Trans2 Or .TextBox2.Value = Trans3) Then
    3. .CheckBox1.Value = True
    4. .CheckBox1.BackColor = vbGreen
    5. Else
    6. .CheckBox2.Value = True
    7. .CheckBox2.BackColor = vbRed
    8. End If