Seite 1 von 1
Select Case-Anweisung HILFE
Verfasst: Do, 10.01.2008 17:52
von Tom-ey
Code: Alles auswählen
sub Notenwerte
Select Case iAntwort
Case "1+" "1" "1-"
sText = "sehr gut"
Case "2+" "2" "2-"
sText = "gut"
Case "3+" "3" "3-"
sText = "befriedigend"
Case "4+" "4"
sText = "ausreichend"
Case "5+" "5" "5-"
sText = "mangelhaft"
Case "6+" "6" "6-"
sText = "ungenuegend"
Case Else
sText = ""
End Select
End Sub
So schauts bisher unter OO BAsic in Calc aus...dies soll jedoch funktionieren für das Tabellenblatt "DATA" und die Felder B5:Z21
In den Feldern steht halt 4+ 6- 1 usw....wie mach ich es jedoch das da ausreichend ungenügend sehr gut steht? Geht das mit Case Anweisung? Und wenn ja wie?
Danke
Re: Select Case-Anweisung HILFE
Verfasst: Do, 10.01.2008 18:12
von Toxitom
Hey Tommy,
du könntest es zwar mit einer "Wenn-Formel" lösen (vielfach verschachtelt) aber ienfacher ist es, deine Basic-Routine als selbstdefinierte Funktion zu definierern - dann klappt das doch

(Im Übrigen bezweifel ich, dass deine Sub wirklich funktioniert - die Case-Unterscheidungen benötigen nämlich einen Trenner

)
Maxchst du daraus eine benutzerdefinierte Funktion, so musst du Sie im Bereich "Meine Makros" und dort in der Bibliothek "Standard" ablegen - sonst wird sie nicht gefunden:
Code: Alles auswählen
function Notenwert(sString)
Select Case sString
Case "1+", "1", "1-"
sText = "sehr gut"
Case "2+", "2", "2-"
sText = "gut"
Case "3+", "3", "3-"
sText = "befriedigend"
Case "4+", "4"
sText = "ausreichend"
Case "5+", "5", "5-"
sText = "mangelhaft"
Case "6+", "6", "6-"
sText = "ungenuegend"
Case Else
sText = ""
End Select
Notenwert = sText
End function
und wenn in Zelle B4 deine Zahl als String drin steht (z.B. 3+), dann kannst du die Formelin eine andere Zelle schreiben:
=NOTENWERT(B4) - und das Ergebnis ist "befriedigend".
Viele Grüße
Thomas
Re: Select Case-Anweisung HILFE
Verfasst: Do, 10.01.2008 20:41
von Tom-ey
Vielen Dank!!! Funktioniert super!

Re: Select Case-Anweisung HILFE
Verfasst: Sa, 24.05.2008 17:12
von Tom-ey
Hab noch mal eine Frage...:
Wo liegt der Fehler?
Code: Alles auswählen
function WERT(sString)
Select Case sString
Case "1"
sText = "1"
Case "2"
sText = "1. und 2"
End Select
WERT = sText
End function
Re: Select Case-Anweisung HILFE
Verfasst: Sa, 24.05.2008 22:11
von turtle47
Hallo Tom,
"WERT" ist eine belegte Function.
OOoWiki hat geschrieben:WERT
Konvertiert eine Textzeichenkette in eine Zahl.
Dafür müsste es im Code es nicht
sondern normalerweise
lauten weil die Syntax normalerweise die englische schreibweise verlangt aber en wird wahrscheinlich doch irgendwie berücksichtigt!
Probiere mal folgendes:
Code: Alles auswählen
Sub Wert1_holen
sString = "2"
Select Case sString
Case "1"
sText = "1"
Case "2"
sText = "1. und 2"
End Select
WERT1 = sText
msgbox WERT1
End Sub
Und, funktioniert es?
Selbst wenn du es beabsichtigt hast
in eine Zahl zu verwandeln würde das am Inhalt scheitern.
Fazit: Nie belegte Funktionsbezeichnungen verwenden!
Schöne Grüsse.
Jürgen
Re: Select Case-Anweisung HILFE
Verfasst: So, 25.05.2008 10:11
von Karolus
Hallo
Nimm mal folgendes:
Code: Alles auswählen
function einszwei( xxx )
Select Case xxx
Case 1
sText = 1
Case 2
sText = "1. und 2"
End Select
einszwei = sText
End function
Und schreib in Tabelle2.C4:
=EINSZWEI(Tabelle1.B10)
Gruß Karo
Re: Select Case-Anweisung HILFE
Verfasst: Sa, 07.06.2008 10:58
von Karolus
Code: Alles auswählen
WENN(Tabelle2.C4=1;1;WENN(Tabelle2.C4=2;"1. und 2";""))