![]() |
Excel-Formel in Excel-VBA umwandeln
Liebe WCM-Gemeinde!
Ich kämpfe seit 2 Stunden und komm nicht mehr weiter. Vielleicht könnt ihr mir helfen! Ich habe ein Excel-Sheet mit folgender Formel: =WENN(UND(E9=0;D9>0);0;WENN(E9<=0;180;0)+WENN(D9=0 ;90;REST(GRAD(ARCTAN(E9/D9))+180;180))) Wobei in D9 und in E9 Zahlen stehen (X-, Y-Koordinate im kartesischen Koordinatensystem) Ich bräuchte die Formel in VBA, da ich das Ergebnis (Winkel im Polarkoordinatensystem) gerne als Funktion berechnen würde. Leider gelingt es mir nicht, die Formel in VBA nachzubasteln. Vor allem gelingt es mir nicht, die If-Abfragen richtig zu schachteln... Vielen Dank für Eure Hilfe!! lg manuel |
WENN(UND(E9=0;D9>0);0;WENN(E9<=0;180;0)+WENN(D9=0; 90;REST(GRAD(ARCTAN(E9/D9))+180;180)))
If E9 = 0 AND D9 > 0 Then a=0 Else If E9 <= 0 a=180 else a=0 end if end if If D9 = 0 Then b=90 Else b=REST(GRAD(ARCTAN(E9/D9))+180 end if Range("A1")=a+b das letzte wenn versteh ich ned ganz 1. was macht REST ? 2. warum hat diese Wenn ;180 noch dabei... |
Vielen Dank! Ich werds gleich probieren!
REST(Zahl1;Zahl2) glaub ich ist bei "normalen" Programmiersprachen als "MOD" (Restwert einer Division) bekannt. |
JAAAAA, es funktioniert!!! DANKE, DANKE, DANKE!
Hier meine fertige Lösung: If varPosYrel = 0 And varPosXrel > 0 Then varWinkelTempA = 0 Else If varPosYrel <= 0 Then varWinkelTempA = 180 Else varWinkelTempA = 0 End If End If If varPosXrel = 0 Then varWinkelTempB = 90 Else varWinkelTempB = ((Atn(varPosYrel / varPosXrel) * 180 / PI) + 180) Mod 180 End If varWinkel = varWinkelTempA + varWinkelTempB lg manuel |
Alle Zeitangaben in WEZ +2. Es ist jetzt 23:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag