VBA Tipp: Arcussinus und Arcuscosinus

Aus DBWiki
Wechseln zu: Navigation, Suche

Problem

Ich vermisse in VBA die Funktionen Arcussinus und Arcuscosinus.

Lösung

Man muss die Funktionen aus der vorhandenen Funktion Arcustangens ableiten:

Public Const Pi = 3.14159265358979  'Pi = 4 * Atn(1)
 
Public Function ArcCos(ByVal x As Double) As Double
   If x = 1# Then
      ArcCos = 0#
   ElseIf x = -1 Then
      ArcCos = Pi
   ElseIf x < 1# And x > -1# Then
      ArcCos = Atn(-x / Sqr((-x * x) + 1)) + Pi / 2#
   End If
End Function
 
Public Function ArcSin(ByVal x As Double) As Double
   If x = 1 Then
      ArcSin = Pi / 2#
   ElseIf x = -1 Then
      ArcSin = -Pi / 2#
   ElseIf x < 1# And x > -1# Then
      ArcSin = Atn(x / Sqr((-x * x) + 1))
   End If
End Function