Excel Ungerade/Gerade VBA?
Ich wüsste gerne wie ich ihn VBA von Excel überprüfen kann ob eine Zahl gerade ist oder eben nicht.
DIe Zellen Formel schaut so aus:
=WENN(UND(ISTGERADE($P$44);D15>0;$P$44>0);D15*2;"")
In VBA hab ich es wie folgt probiert:
If Range("P44") IsEven And Range("D15") > 0 And Range("P44") > 0 Then
Range("U15") = Range("D15") * 2
Else
Range("U15")=""
End If
Aber wie ihr euch denken könnt funktioniert es so nicht
Danke für eure Hilfe im Vorraus
3 Antworten
![](https://images.gutefrage.net/media/default/user/12_nmmslarge.png?v=1551279448000)
In deinem Code ist "IsEven" nicht mit der richtigen Syntax.
Es geht so:
WorksheetFunction.IsEven(Range("P44"))
"IsEven" ist ansonsten keine VBA-Funktion, daher "WorksheetFunction" davor, und das Argument kommt in Klammern dahinter.
Nur um deinen Code zum Laufen zu bekommen.
Mit Mod ist es aber eleganter, wie @adi120369 geschrieben hat.
![](https://images.gutefrage.net/media/user/adi120369/1663313852529_nmmslarge__0_0_546_546_b978b1be03bde6ae27a2e2be8bf5b30b.jpg?v=1663313853000)
Also am einfachsten kann man das mit der modulo Funktion testen - also Restwertdivision. Wenn beim Dividieren durch Zwei der Restwert =0 ist, ist die Zahl gerade:
If Zahl Mod 2 = 0 Then Call MsgBox ("eine gerade Zahl", vbInformation)
![](https://images.gutefrage.net/media/user/GutenTag2003/1588519744538_nmmslarge__0_0_330_331_af4ab91c989f18c51a60e2a994fb233a.jpg?v=1588519745000)
ohne VBA, nur in Excel würde ich das so machen ...
... und das Ergebnis mit einer Wenn-Bedingung anzeigen lassen.
![- (VBA Excel, ungerade gerade)](https://images.gutefrage.net/media/fragen-antworten/bilder/381838674/0_big.jpg?v=1610284026000)
![](https://images.gutefrage.net/media/user/GutenTag2003/1588519744538_nmmslarge__0_0_330_331_af4ab91c989f18c51a60e2a994fb233a.jpg?v=1588519745000)
Liest Du überhaupt meine Antwort ?
ohne VBA, nur in Excel würde ich das so machen ...
Warum sollte Dich das von einer VBA-Lösung abhalten ?
Ließt du überhaupt meien Frage ich hab es schon längst kn Ecel gemacht aber ich brauche es für Vba