Раз ты написал VBA, значит делаешь для экселя. Поэтому я использовал встроенные функции для краткости.
Code:
Function Kut(x As Double, y As Double) As Double
If x = 0 And y = 0 Then
MsgBox ("At least one of coordinates must differ from 0!")
Kut = -1
Exit Function
End If
Pi = 2 * Application.WorksheetFunction.Asin(1)
A = Application.WorksheetFunction.Acos(x / Sqr(x * x + y * y)) * 180 / Pi
If y >= 0 Then
Kut = A
Else
Kut = 360 - A
End If
End Function
|