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(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(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