查无此鸟的博客 一个不误正业的交通工程师的个人网站

[新浪博客]发布一个计算桩号之差的Excel自定义函数(VBA)

标签:野生程序猿 | 发表时间:2014-12-09 17:15:51 | 更新时间: 2020-04-24 23:12:51 | 阅读数:243 | 评论数:0 | 字数:899

本文2014-12-09 17:15:51首发于新浪博客,地址:http://blog.sina.com.cn/s/blog_638f98570102vfet.html。
发布一个可以计算桩号之差(也就是得到长度)的Excel(或WPS)扩展函数,可以减少工程师在统计工程量时的工作量。
该函数具有一定的通用性。可以在MSOffice和金山WPS上使用。
文末会给出使用本函数的简单步骤,关于如何在Excel(或WPS)中自定义函数的较详细介绍请移步这里[1]。
将下面短横线之间(不包含)的内容复制到模块中去,保存后即可使用自定义的ZH_Len函数计算两个桩号之间的长度。
'函数:ZH_Len '作用:起终点桩号之差(返回数字) '作者:@我只是一小小鸟t5lyg@126.com '版本:V1.0 '时间:2014.12.09 FunctionZH_Len(终点桩号,起点桩号) ZH_Len=ToNumber(终点桩号)-ToNumber(起点桩号) EndFunction '去掉字符串中的非数字 '考虑了小数、负数的情况,但是不能处理两个负号的桩号 FunctionToNumber© DimTemp Temp="" Fori=1ToLen© IfIsNumeric(Mid(C,I,1))=TrueThen Temp=Temp&Mid(C,I,1) ElseIfMid(C,I,1)="."Then'考虑小数 Temp=Temp&Mid(C,I,1) ElseIfMid(C,I,1)="-"Then'考虑负数 Temp="-" EndIf Nexti ToNumber=Temp EndFunction
说明: 1.事实上,这个函数可以计算任何两个带数字的字符串的数字之差; 2.可以处理小数、带1个负号这两种特殊桩号,但是不能准确识别带2个负号的桩号。当然,2个负号的桩号很逆天,不大可能出现。 3.应允许宏运行,并在Excel中允许所有宏运行,并重新打开。 简单步骤(以WPS为例): Step1打开WPS,点击开发工具>>VB编辑器。

图片01

Step2插入一个空模块。

图片02

Step3将函数粘贴到模块中,保存,关闭VB编辑器。

图片03

Step4在表格中使用自定义函数。

图片04

版权声明:本文由@查无此鸟创作,采用知识共享 署名-非商业性使用-禁止演绎 3.0 中国大陆许可协议进行许可。除非注明,均为原创文章,请在转载时注明来源,并完整保留本段声明。本文地址: http://liyonggang.net/blog.aspx?id= 2014-12-09



本文评论:
暂无评论……

发表评论:(昵称或评论内容不允许为空!邮箱可不填,但建议填写以备联系,邮箱将不显示在评论中。) 昵称 邮箱

查无此鸟的博客

Copyright©查无此鸟 2020~2022, All Rights Reserved

邮箱:t5lyg@126.com

其他链接

卢昌海的网站 | 鱼の后花园博客) | 新交通人的技术闲谈-知乎 | FROYOs Blog | 博客园 | 鸟哥Linux | 蜂鸟的小窝 | 大眼仔

AutoCAD.NET: Kevin K | 大非sb