只有一个Atn()是VB反正切函数,VB不提供其他反三角函数,不过可以用下列公式导出: 
反正弦
Arcsin(X) = Atn(X / Sqr(-X * X + 1))
反余弦
Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
反正割
Arcsec(X) = Atn(X / Sqr(X * X - 1)) + Sgn((X) - 1) * (2 * Atn(1))
反余割
Arccosec(X) = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 * Atn(1))

'反正弦函数
Function ArcSin(x As Double) As Double
If x = -1 Then
  ArcSin = -3.1415926 / 2 '这里都是弧度,如果想转成角度,看转到哪个范围内,如sin(0)=sin(180)=sin(360)=0,可以*180/3.1415926
Else
  ArcSin = Atn(x / Sqr(1 - x * x))
End If
End Function

 

调用:

MsgBox (ArcSin(0.5))

 

这张图是借用的网上的,x轴应该是从-π/2到 π/2,y轴从-1到1

 这里采用角度30,点击sin,得出sin(30)=0.5 ,角度表示。这里采用弧度,根据arcsin(0.5)=0.523598775598299,写入0.523598775598299,得出如下的结果,约等于0.5