[Excel, VBA] gerade, ungerade Zahl
Gepostet am: Jan 07, 2012 7:26:1 AM
Seit Excel 2007 ist es ja bekanntlich kein großes Problem mehr eine Zahl zu prüfen, ob diese gerade oder ungerade ist. Vor Excel 2007 war es nur denjenigen möglich auf diese Funktionen zuzugreifen, die das Analyse Add-in installiert hatten. Aber auch Benutzer von Excel < 2007 können recht einfach berechnen, ob eine Zahl gerade oder ungerade ist.
=WENN(REST(Zahl/2;1)=0;"gerade";"ungerade")
Das sollte man in Hinblick auf Kompatibilität berücksichtigen, da es sonst dazu führt, dass Benutzer von Excel Versionen vor 2007 eine Fehlermeldung bei Verwendung der Funktionen ISTGERADE und ISTUNGERADE bekommen.
Unter dem Aspekt, könnte man - sofern einem die Verwendung der Rest-Funktionen zu kompliziert ist, die Funktionen in VBA nachbilden:
gerade bzw. ungerade
Function ISTGERADE(myZahl As Double) As Boolean If myZahl Mod 2 = 0 Then ISTGERADE = True Else ISTGERADE = False End IfEnd FunctionFunction ISTUNGERADE(myZahl As Double) As Boolean If myZahl Mod 2 = 0 Then ISTUNGERADE = False Else ISTUNGERADE = True End IfEnd Function
Sowohl für Excel Versionen < 2007 aber auch > 2007 wäre folgende Funktion interessant:
gerade_ungerade
Public Function gerade_ungerade(val As Double) As StringIf val Mod 2 = 0 Then gerade_ungerade = "gerade"Else gerade_ungerade = "ungerade"End IfEnd Function