captainchaos666
Goto Top

In einer Case Strucktur einen Wertebereich abfragen

Hallo, könnt ihr mir nochmals weiterhelfen?

Ich lese aus einer Exceltabelle Strings ein, je nachdem was eingelesen wird möchte ich die Casefunktionen aufrufen


Select Case sheet.Cells(Line,1).Value
Case "Minimal"

Case "Maximal"

Case "Wert_"

so und jetzt mein Problem, mir soll der Casefall "Wert_" nur dann aufgerufen werden wenn Wert von Wert_5 bis Wert_12 kommt (MöglichWert_1 bis Wert_999). Ich könnte für jeden Wert_5 bis Wert_12 einen Case Programmieren, möchte ich aber nicht unbedingt. Ich hab aber schon gelesen es gibt Character ranges: "[a-z]" will match any character in the range "a" to "z"

Kann ich meinem Programm in der Casestruktur einen Range mitgeben?

Gruß

captainchaos

Content-Key: 47764

Url: https://administrator.de/contentid/47764

Printed on: April 16, 2024 at 06:04 o'clock

Member: bastla
bastla Jan 02, 2007 at 17:42:06 (UTC)
Goto Top
Hallo captainchaos666!

Falls Du nicht ohnehin die "Wertnummer" (also den auf "Wert_" folgenden Teil) benötigst, würde ich sie trotzdem in etwa so einsetzen:

strKennzeichen = sheet.Cells(Line,1).Value 'Variablenname willkürlich von mir festgelegt  
Select Case strKennzeichen
Case "Minimal"  

Case "Maximal"  

Case Else
    If Left(strKennzeichen, 5) = "Wert_" Then  
        intNummer = Val(Mid(strKennzeichen, 6))
        If intNummer >= 5 And intNummer <= 12 Then

        End If
    End If
End Select
Alternativ kannst Du natürlich noch ein weiteres "Select Case" nach Ermittlung der intNummer verwenden, um verschiedene Nummern-Bereiche voneinander zu unterscheiden, also zB
Select Case intNummer
Case Is < 5

Case 5 To 12
   
Case Else

End Select
Es gäbe zwar die Möglichkeit, den Bereich mit
Case "Wert_05" to "Wert_12"  
abzufragen, dazu müsste allerdings die Stellenanzahl der Nummern gleich sein (also "05" statt "5").

Letzte Variante, die mir dazu einfällt:
Case "Wert_5", "Wert_6", "Wert_7", "Wert_8", "Wert_9", "Wert_10", "Wert_11", "Wert_12"  
Schön ist's IMHO nicht, funktionieren wird es.

HTH
bastla

[Edit] Varianten mit "Wert_"-Strings ergänzt. [/Edit]
Member: captainchaos666
captainchaos666 Jan 02, 2007 at 22:24:02 (UTC)
Goto Top
Hallo bastla,
Danke für deine Beispiele,
die Abfrage bei Case Else kann ich nicht machen, da ich dort bereits einen Sonderfall bearbeite!

Case "Wert_05" to "Wert_12" => Kennt mein Programm nicht (Fehlermeldung: Anweisung erwartet) muss ich diesen Befehl anders schreiben, so etwas in dieser Art würde mir gefallen

Gruß Alex
Member: bastla
bastla Jan 02, 2007 at 22:34:29 (UTC)
Goto Top
Hallo captainchaos666!

die Abfrage bei Case Else kann ich nicht machen, da ich dort bereits einen Sonderfall bearbeite!
Dir bliebe ja immer noch der Else-Zweig des "If Left(..." für das, was Du vorher schon im "Case Else" hattest ...

Case "Wert_05" to "Wert_12" => Kennt mein Programm nicht (Fehlermeldung: Anweisung erwartet) muss ich diesen Befehl anders schreiben
Getestet bei mir zwar nur mit Excel 2003 - sollte aber auch in anderen Versionen (genau) so gehen.

Grüße
bastla