Simon Mourier's Avatar
Simon Mourier's blog (1807 answers on StackOverflow) about Microsoft technologies C#, C/C++, .NET, WinRT, WinUI3, AOT, P/Invoke, COM, Interop, DirectX, Direct2D, Windows, ...
  • 🔎︎ Search
  • Categories
  • Archives
  • About Me
  • vb6-vba

Does VBA have an ATan2 function?

Feb 25, 2011 See the question and my original answer on StackOverflow

Maybe this code would suit you:

Private Const Pi As Double = 3.14159265358979

Public Function Atn2(y As Double, x As Double) As Double
  If x > 0 Then
    Atn2 = Atn(y / x)
  ElseIf x < 0 Then
    Atn2 = Sgn(y) * (Pi - Atn(Abs(y / x)))
  ElseIf y = 0 Then
    Atn2 = 0
  Else
    Atn2 = Sgn(y) * Pi / 2
  End If
End Function
  • SmoBlog © 2010-2026 Simon Mourier. All rights reserved.
  • Privacy & Terms