Does VBA have an ATan2 function?

前端 未结 4 1942
独厮守ぢ
独厮守ぢ 2021-01-20 00:27

I\'d like to calculate atan2 in VBA, but I\'m not sure if that function exists (or even where to find a canonical list of built-in VBA functions). I\'m not usi

4条回答
  •  一向
    一向 (楼主)
    2021-01-20 01:14

    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
    

提交回复
热议问题