Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Select Case Vergleich von 2 Variablen

Select Case Vergleich von 2 Variablen
04.04.2017 11:33:58
2
Hallo Community,
ich möchte mit Select Case 2 Variablen vergleichen auf größer, kleiner, gleich. Je nach Ergebnis sollen andere Dinge ausgeführt werden. Das Problem ist, das gerade dieser Vergleich nicht funktioniert. Es wird immer der letzte Fall "Case Else" genommen.
Konkret sollen 2 Datumswerte (IST und PLAN) miteinander verglichen werden und je nach Beziehung zueinander soll ein bestimmter Statuswert ausgegeben werden. (Die MsgBoxen sind nicht nötig, dienen mir erstmal nur zur Fehlersuche und werden später gelöscht)
mein Code sieht so aus:

Sub Statusabfrage ()
Dim StatusStart As String
Dim intRow As Integer
Dim StartIST As Date
Dim StartPLAN As Date
For intRow = 9 To 10
StartIST = Cells(intRow, 7)
StartPLAN = Cells(intRow, 4)
MsgBox ("StartIST= " & StartIST)
MsgBox ("StartPLAN= " & StartPLAN)
Select Case StartIST
Case StartIST  StartPLAN
StatusStart = "verzogen begonnen"
MsgBox ("ist größer")
Case Else
MsgBox ("ist was anderes")
End Select
MsgBox ("StatusStart=" & StatusStart)
Cells(intRow, 10) = StatusStart
Next intRow
End Sub
Bitte um Hilfe,
Kevin
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Select Case True owT
04.04.2017 11:43:34
Anton
Case Is ...
04.04.2017 11:44:13
Matthias
Hallo Kevin
    Select Case StartIST
Case Is 
MsgBox ("ist kleiner")
StatusStart = "früher begonnen"
Case Is = StartPLAN
StatusStart = "planmäßig begonnen"
MsgBox ("ist gleich")
Case Is > StartPLAN
StatusStart = "verzogen begonnen"
MsgBox ("ist größer")
Case Else
MsgBox ("ist was anderes")
End Select
Gruß Matthias
Anzeige
AW: Select Case Vergleich von 2 Variablen
04.04.2017 11:57:37
2
Hi
als Select Case so:
    Select Case StartIST
Case IS  StartPLAN
StatusStart = "verzogen begonnen"
MsgBox ("ist größer")
Case Else
MsgBox ("ist was anderes")
End Select

bei komplexeren Bedingungsprüfungen bietet sich aber auch das IF-Then mit ElseIF an:

If StartIST  StartPLAN Then
StatusStart = "verzogen begonnen"
MsgBox ("ist größer")
Else
MsgBox ("ist was anderes")
End If
Gruß Daniel
Anzeige
AW: Select Case Vergleich von 2 Variablen
04.04.2017 17:20:18
2
Danke Daniel und Martin,
manchmal sieht man echt den Wald vor lauter Bäumen nicht. Funktioniert tadellos.
Grüße,
Kevin
AW: Select Case Vergleich von 2 Variablen
04.04.2017 17:22:23
2
meinte natürlich Matthias, sorry
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Select Case Vergleich von 2 Variablen in VBA


Schritt-für-Schritt-Anleitung

Um mit Select Case in Excel VBA zwei Variablen zu vergleichen, befolge diese Schritte:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.
  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (dein Arbeitsblattname)" > Einfügen > Modul.
  3. Beginne mit dem Schreiben deiner Subroutine:
Sub Statusabfrage()
    Dim StatusStart As String
    Dim intRow As Integer
    Dim StartIST As Date
    Dim StartPLAN As Date
    For intRow = 9 To 10
        StartIST = Cells(intRow, 7)
        StartPLAN = Cells(intRow, 4)
        Select Case StartIST
            Case Is < StartPLAN
                StatusStart = "früher begonnen"
            Case Is = StartPLAN
                StatusStart = "planmäßig begonnen"
            Case Is > StartPLAN
                StatusStart = "verzogen begonnen"
            Case Else
                StatusStart = "unbekannt"
        End Select
        Cells(intRow, 10) = StatusStart
    Next intRow
End Sub
  1. Führe das Makro aus: Drücke F5, um die Subroutine zu starten.

Häufige Fehler und Lösungen

  • Problem: Es wird immer der letzte Fall "Case Else" ausgewählt.

    • Lösung: Stelle sicher, dass du die Bedingungen korrekt formulierst. Zum Beispiel: Case Is < StartPLAN.
  • Problem: Die Variablen sind nicht korrekt zugewiesen.

    • Lösung: Überprüfe, ob die Zellen, aus denen du die Werte ziehst, die richtigen Datentypen (z.B. Datum) enthalten.

Alternative Methoden

Wenn du komplexere Bedingungen prüfen möchtest, kannst du auch If...Then-Anweisungen verwenden. Hier ein Beispiel:

If StartIST < StartPLAN Then
    StatusStart = "früher begonnen"
ElseIf StartIST = StartPLAN Then
    StatusStart = "planmäßig begonnen"
ElseIf StartIST > StartPLAN Then
    StatusStart = "verzogen begonnen"
Else
    StatusStart = "unbekannt"
End If

Diese Methode bietet mehr Flexibilität, wenn du mehrere Bedingungen überprüfen musst, wie bei vba select case mehrere bedingungen.


Praktische Beispiele

Hier sind einige Beispiele, wie du Select Case und If...Then in verschiedenen Kontexten verwenden kannst:

  1. Vergleich von Zahlen:
Select Case Zahl
    Case Is < 10
        MsgBox "Zahl ist kleiner als 10"
    Case Is = 10
        MsgBox "Zahl ist gleich 10"
    Case Is > 10
        MsgBox "Zahl ist größer als 10"
End Select
  1. String-Vergleich:
Select Case Status
    Case "Aktiv"
        MsgBox "Der Status ist aktiv."
    Case "Inaktiv"
        MsgBox "Der Status ist inaktiv."
    Case Else
        MsgBox "Unbekannter Status."
End Select

Tipps für Profis

  • Nutze Select Case für klare und übersichtliche Vergleiche, besonders wenn du viele Bedingungen hast.
  • Bei sehr komplexen Logiken kann If...Then...ElseIf leichter zu lesen sein.
  • Überlege dir, ob du Case Is <, Case Is = oder Case Is > nutzen möchtest, um die Lesbarkeit zu verbessern.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen Select Case und If...Then?
Select Case ist nützlich für viele Bedingungen, während If...Then flexibler ist und mehr Bedingungen unterstützt.

2. Kann ich auch mehrere Bedingungen in einem Select Case verwenden?
Ja, du kannst Case Is auch mit And oder Or kombinieren, um mehrere Bedingungen zu prüfen.

3. Funktioniert Select Case auch mit Strings?
Ja, Select Case kann auch für String-Vergleiche verwendet werden, was es ideal für excel vba select case string macht.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige