der makro muss einen wert aus einer zelle auslesen und mir je nach wert ein bestimmtes ergebnis leifern kann man das mit vba erreichen die wenn funktion reicht leider nicht mehr aus da ich nur 7 bedinungen damit abdecken kann
Anonym2007-09-10T03:20:10Z
Beste Antwort
klar reicht die IF-Bedingung dafür aus.
IF Zellenzahl = 0 then {} IF Zellenzahl = 1 then {} IF Zellenzahl = 2 then {} IF Zellenzahl = 3 then {} IF Zellenzahl = 4 then {} IF Zellenzahl = 5 then {} IF Zellenzahl = 6 then {} IF Zellenzahl = 7 then {} IF Zellenzahl = 8 then {} IF Zellenzahl = 9 then {} IF Zellenzahl = N then {}
However. Du meist ausserdem nicht die IF-Bedingung sondern die Case (Fall) - Bedingung. However, da oben steht wie du das Abdecken kannst.
Sub ExcelEntscheidung() Call Entscheidung(Range("A1").Value)
End Sub
// Unterfunktion (wird aus dem Makro aufgerufen) Function Entscheidung(Variable As String) Ergebnis = Switch(Variable = "Hallo", "Selber Hallo", _ Variable = "Wie gehts?", "Sehr gut", Variable = "Tanzen?", "Ja gerne", _ Variable = Variable, "Ich weià nicht was du meinst!") Range("B1").Value = Ergebnis End Function
Funktioniert bei mir super, selbst wenn ich Schrott eingebe, ist immer noch die letzte Bedingung erfüllt und die Nachricht "Ich weià nicht was du meinst!" erscheint.
zuvor muss aber noch z.B. "Zellenzahl" definiert werden und der Variable den Wert in einer Zelle übergeben werden! Das geht am bessten mit "Range" es gibt zwar auch noch "Cells" aber das wäre von der Benennung her komplexer. Habe desweiteren String als Variablentyp gewählt weil damit auch Text verglichen werden kann!
Dim Zellenzahl As String Zellenzahl = Range("C17") '...