bitte helft mir excel VBA?

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.

Gruß

Anonym2007-09-10T04:26:54Z

// Haupteinstieg des Makros

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.

Ich hoff das hilft dir.

Anonym2007-09-10T03:34:17Z

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")
'...