首页 > 代码库 > 发布一个计算桩号之差的Excel自定义函数(VBA)
发布一个计算桩号之差的Excel自定义函数(VBA)
这是一个可以计算桩号之差(也就是得到长度)的Excel(或WPS)扩展函数,可以减少工程师在统计工程量时的工作量。
该函数具有一定的通用性。可以在MS Office和金山WPS上使用。
文末会给出使用本函数的简单步骤,关于如何在Excel(或WPS)中自定义函数的较详细介绍请移步这里[1]。
将下面内容复制到模块中去,保存后即可使用自定义的ZH_Len函数计算两个桩号之间的长度。
‘函数:ZH_Len‘作用:起终点桩号之差(返回数字)‘作者:@我只是一小小鸟 t5lyg@126.com‘版本: V1.0‘时间:2014.12.09Function ZH_Len(终点桩号, 起点桩号) ZH_Len = ToNumber(终点桩号) - ToNumber(起点桩号)End Function‘去掉字符串中的非数字‘考虑了小数、负数的情况,但是不能处理两个负号的桩号Function ToNumber(C) Dim Temp Temp = "" For i = 1 To Len(C) If IsNumeric(Mid(C, i, 1)) = True Then Temp = Temp & Mid(C, i, 1) ElseIf Mid(C, i, 1) = "." Then ‘考虑小数 Temp = Temp & Mid(C, i, 1) ElseIf Mid(C, i, 1) = "-" Then ‘考虑负数 Temp = "-" End If Next i ToNumber = TempEnd Function
说明:-----
1. 事实上,这个函数可以计算任何两个带数字的字符串的数字之差;
2. 可以处理小数、带1个负号这两种特殊桩号,但是不能准确识别带2个负号的桩号。当然,2个负号的桩号很逆天,不大可能出现。
3. 应允许宏运行,并在Excel中允许所有宏运行,并重新打开。
简单步骤(以WPS为例):
打开WPS,点击开发工具>>VB编辑器→插入一个空模块→将代码粘贴到模块中,保存,关闭VB编辑器→在表格中使用自定义函数 |
Step 1 打开WPS,点击开发工具>>VB编辑器。
Step 2 插入一个空模块。
Step 3 将函数粘贴到模块中,保存,关闭VB编辑器。
Step 4 在表格中使用自定义函数。
-----
[1]http://blog.sina.com.cn/s/blog_638f98570101fbqn.html
-----
如果您认为本文对您的工作或学习有所帮助,请对作者表示支持(评论、转载或分享),以使他获得继续写作的动力。如有任何疑问,欢迎联系t5lyg@126.com交流。
-----
版权声明:本文由@我只是一小小鸟创作,采用“知识共享 署名-非商业性使用-禁止演绎 3.0 中国大陆 许可协议”进行许可。除非注明,均为原创文章,转载请注明:转载自这只是一小小鸟窝,并保留本段声明。本文地址:http://blog.sina.com.cn/s/blog_638f98570102vfet.html
发布一个计算桩号之差的Excel自定义函数(VBA)