Excel大约有500个函数,对于一般的办公场景而言,单独使用+组合使用能衍生出很多无数种函数,但是对于复杂的问题,往往函数十分复杂,不便于记忆。假如你经常使用这个函数组合,而又不想记住这些复杂的公式,你就需要自己发明一个函数了。

例如,要求地球上两个点的距离,函数组合是这样的:

于是我们就在想,要是有个函数可以计算距离就好了,好吧,我们动手自定义一个函数吧。

第一步:打开一个空白文档

第二步:按键盘组合键“Alt+F11”或切换至“开发工具”功能区并点击“Visual Basic”按钮进入VBA环境。

第三步:在VBA环境下,右击“Microsoft Excel对象”,从弹出的菜单中选择“插入”->“模块”项。

第四步:编写代码

Public Function Cal_Long_Lat(ByVal long1 AsDouble, ByVal lat1 As Double, ByVal long2 As Double, ByVal lat2 As Double) AsDouble

Const PI As Double = 3.1415926535

Dim AngleLong1, AngleLat1, AngleLong2, AngleLat2 As Double

AngleLong1 = long1 * PI / 180

AngleLat1 = lat1 * PI / 180

AngleLong2 = long2 * PI / 180

AngleLat2 = lat2 * PI / 180

Dim sinX, cosX As Double

sinX = Sin(AngleLat1) * Sin(AngleLat2)

cosX = Cos(AngleLat1) * Cos(AngleLat2) * Cos(AngleLong2 – AngleLong1)

x = sinX + cosX

On Error Resume Next

ax = Atn(-x / Sqr(-x * x + 1)) + 2 * Atn(1)

Cal_Long_Lat = 6378140 * ax

End Function

第五步:保存为xla文件

假设,你将这个加载宏文件放在了D盘xla文件夹里

第六步:添加信任位置

为保证excel的运行安全,Excel默认只信任部分文件夹。添加后,excel就知道这个文件夹是安全的。

第七步:添加加载项

以后启动excel时,你编写的宏就可以默认被加载了。

此后,在excel中可以直接使用刚创建的函数。

是不是特别简单?[白眼]我读书少,你不要骗我!