在Excel中建立自定义函数
一、建立自定义函数
㈠、 录制宏:
①、 打开一个新的Excel工作薄
②、 选择“工具”菜单中的“宏”子菜单,从它的下级菜单中选择“录制新宏”
③、 在“录制新宏”对话框的“宏名”中输入要建立的函数名,例: Rad
④、 在“保存在”列表中选择“个人宏工作薄”
⑤、 左击“确定”
⑥、 在“停止录”对话框中左击蓝色的小方框
㈡、 写程序代码
①、 选择“工具”菜单中的“宏”子菜单,从它的下级菜单中选择“Visual Basic 编辑器”,双击模块*
②、 将sub Rad()改写成Public Function Rad(y)
③、 将下列程序代码写入(或拷贝)到
坐标反算代码
Public Function fsa(x1, y1, x2, y2)
Dim aa, a, b, b1, b2, b3, a1, x, y, a0
Const pi = 3.14159265358979
x = x2 – x1: y = y2 – y1
a = Atn(y / x)
If (x < 0 And y > 0) Or (x < 0 And y < 0) Then
a = a + pi
End If
If x > 0 And y < 0 Then
a = a + 2 * pi
End If
ab = a
aa = Sgn(ab): If aa < 0 Then ab = Abs(ab)
a0 = ab / pi * 180: b1 = Int(a0): a1 = (a0 – b1) * 60: b2 = Int(a1) / 100
b3 = (a1 – b2 * 100) * 60 / 10000
b = b1 + b2 + b3
fsa = b * aa
‘计算的角度为:°′″(12.3645—12°36′45″)
End Function
将60进制角度化成弧度――2
Public Function rad(a)
Dim a1, a2, a3, a4, a5, aa
aa = Sgn(a)
If aa < 0 Then
a = Abs(a)
End If
a1 = Int(a)
a2 = Int((a – a1) * 100)
a3 = ((a – a1) * 100 – a2) * 100
a4 = (a1 + a2 / 60 + a3 / 3600) / 180 * 3.1415926535
rad = a4 * aa
End Function
化弧度为角度―――2
Public Function deg(a)
Dim a1, a2, a3, a4, a5, aa
aa = Sgn(a)
If aa < 0 Then
a = Abs(a)
End If
a1 = a / 3.1415926535 * 180
a2 = Int(a1)
a3 = Int((a1 – a2) * 60)
a4 = ((a1 – a2) * 60 – a3) * 60
a5 = (a2 + a3 / 100 + a4 / 10000) * aa
deg = a5
End Function