[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