Select Case Anweisung

  • Word

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Select Case Anweisung

    Hallo,

    ich bin ein ziemlicher Neuling bei VBA, ist es möglich 2 Variablen mit Select Case zu überprüfen? Ich habe folgendes Problem, ich will 2 Zahlenwerte miteinander vergleichen und
    je nachdem wie weit die Zahlen auseinander liegen unterschiedliche Textmeldungen ausgeben
    z.B.

    Zahl b > Zahl a Ausgabe Text 1
    Zahl b um 10 > Zahl a Ausgabe Text 2
    Zahl b < Zahl a Ausgabe Text 3
    Zahl b um 10 < Zahl a Ausgabe Text 4

    wenn der Wert von Zahl b < oder > als Zahl a ist, ist das kein Problem aber sobald es um den zusätzlichen Zahlenwert "10" geht bekomme ich das einfach nicht hin. Ich habe mal mein bisheriges Ergebnis angehängt, ich war auch am überlegen, ob ich das Ganze evtl. mit einer dritten Variable lösen kann, aber wie ich es auch versuche die zweite Anweisung wird bei Select Case ingnoriert. Wäre ganz stark, wenn mir da jemand helfen könnte, danke schonmal im voraus.


    Private Sub cmdAuswertung_Click()
    'Variablendeklaration
    Dim a As Integer
    Dim b As Integer
    Dim c As Integer
    Dim strAusgabetext As String
    'Auslesen
    a = Val(Me.txtFeld1.Value)
    b = Val(Me.txtFeld2.Value)
    ( c = a - b)
    'Berechnen und Ausgabe
    'If b > a 'And c > 10 Then
    'strAusgabetext = "Text1"
    'End If
    Select Case b And c
    Case Is > a And c > 10
    strAusgabetext = "Text1"
    Case Is > a
    strAusgabetext = "Text2"
    Case Is < a
    strAusgabetext = "Text3"
    Case Is < a And c < 10
    strAusgabetext = "Text4"
    Case Else
    End Select
    Me.txtAusgabe.Text = strAusgabetext
    End Sub

    Skarund schrieb:

    Select Case b And c
    b und c sind Integer
    Was glaubst du was das Ergebnis von b And c ist?
    Es ist True, wenn beide Inegers ungleich 0 sind.

    Verwende eine If .. Then .. ElseIf .. Else Konstruktion und nicht Case.
    Vor allem wenn du Case Is nicht verstehst.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Hallo petaod,

    danke erstmal für die Antwort. Select Case war nix. Wahrscheinlich habe ich mich unverständlich ausgedrückt.

    ich gebe 2 Zahlenwerte in jeweils einem Feld ein und vergleiche beide Zahlen miteinander

    Zahl 1 50
    Zahl 2 60
    c = a-b

    If b > a Then
    strAusgabetext = "Text1"
    ElseIf b < a Then
    strAusgabetext = "Text2"
    End If

    soweit klappt das auch, aber wie kann ich die Bedingung definieren Zahl 2 > Zahl 1 und zusätzlich die Differenz beider Zahlen > 10 ist?
    Ich wollte das mit einer dritten Variablen machen und die Bedingung so definieren

    ElseIf c > 10 Then
    strAusgabetext ="Text3"

    bzw. es mit "AND" an die erste Bedingung anhängen, funktioniert aber nicht, kannst Du mir sagen wie das funktioniert?