Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
704to708
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Prüfung, ob Variable in einer Menge von Werten

Prüfung, ob Variable in einer Menge von Werten
12.12.2005 14:39:39
Werten
Hallo Leute,
diesmal ist mir leider kein einfacherer Betreff eingefallen... :-)
Wie kann ich einfach prüfen, ob eine Variable in einer Menge vorgegebener Werte enthalten ist? Also z.B. folgenden Code vereinfachen:
If (strTest = "Paul") Or (strTest = "Claudia") Or (strTest = "Hilda") Then
If (strTest = "Paul") Then
' Pauls Code
ElseIf (strTest = "Claudia") Then
' Claudias Code
Else
' Hildas Code
End If
End If
Also: Gibt's so was wie: If strTest In ("Paul", "Claudia", "Hilda") ?
Meine VBA-Hilfe spuckt für das Suchwort 'In' leider gar nix aus...
Vielen Dank sagt
der Jens

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfung, ob Variable in einer Menge von Werten
12.12.2005 14:59:56
Werten
Hi Jens,
weiss nicht genau was dein Ziel ist aber mit Select Case
kannst du meherer feste vorgaben prüfen:
Select Case strTest
Case "Paul", "Claudia", "Hilda"
msgbox "strTest ist Paul, Claudia oder Hilda."
Case Else
msgbox "strTest ist nicht Paul, Claudia oder Hilda."
End Select
Gruss Peter
AW: Prüfung, ob Variable in einer Menge von Werten
12.12.2005 15:37:23
Werten
Hallo Peter,
ich hatte mich wahrscheinlich schlecht ausgedrückt...
Worum's mir geht, ist Folgendes:
Wie kann ich
(1) einen gemeinsamen Codeteil ausführen, wenn strTest Paul, Claudia oder Hilda ist
(2) einen anderen Codeteil (_vor_ dem anderen Code), allerdings abhängig vom Wert von strTest?
Ist das jetzt klarer erklärt?
Am schönsten wär's vielleicht so:
Select Case strTest:
Case "Paul": ' Code Paul
Case "Claudia": ' Code Claudia
Case "Hilda": ' Code Hilda
Case "Paul", "Claudia", "Hilda": ' gemeinsamer Code
End Select
Leider geht Excel in die letzte Case-Bedingung nicht mehr rein, sondern springt sofort zum End Select. Kann man das irgendwie steuern?
Vielen Dank sagt
der Jens
Anzeige
AW: Prüfung, ob Variable in einer Menge von Werten
12.12.2005 15:46:03
Werten
Hallo
mit 2x select geht es so...

Sub Paula()
Dim strTest$
strTest = "Hilda" 'zum Testen
Select Case strTest
Case "Paul", "Claudia", "Hilda"
Select Case strTest
Case "Paul"
MsgBox "Code Paul"
Case "Claudia"
MsgBox " Code Claudia"
Case "Hilda"
MsgBox " Code Hilda"
End Select
MsgBox "gemeinsamer Code"
End Select
End Sub

Gruß UweD
(Rückmeldung wäre schön)
AW: Prüfung, ob Variable in einer Menge von Werten
12.12.2005 16:01:22
Werten
Hallo UweD,
danke für den Hinweis.
Da hatte ich wohl Kartoffeln vor den Augen...
Inzwischen hab ich mit einer boolean-Variablen ein workaround gefunden, aber die Lösung mit 2x Select ist natürlich besser!
Also vielen Dank!
Jens
Anzeige
anderer Ansatz
12.12.2005 16:31:50
Reinhard
Hi Jens,
Option Explicit
Sub tt()
Dim strTest, pos
strTest = InputBox("eingabe")
pos = InStr("PaulClaudiaHilda", strTest)
If pos <> 0 Then Application.Run ("Makro" & pos)
End Sub
Sub Makro1()
MsgBox "P"
End Sub
Sub Makro5()
MsgBox "C"
End Sub
Sub Makro12()
MsgBox "H"
End Sub
application.Run (strTest) ging natürlich auch wenn die Makros Paul() usw heißen
Gruß
Reinhard
ps:Das Forum lebt auch von Rückmeldungen
AW: anderer Ansatz
13.12.2005 12:44:50
Jens
Hallo Reinhard!
Cooler Ansatz, recht elegant und kurz, aber wohl auch etwas fehleranfällig. ZB falls du nur einen Buchstaben in einem der Namen änderst, musst du dich daran erinnern, die jeweiligen Zahlen mitzuändern...
Also falls aus Paul Paula wird, müssen auch die Makro umbenannt werden...
Ansonsten aber eine schöne Variante!
LG,
Jens
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige