这是一个可以计算桩号之差(也就是得到长度)的Excel(或WPS)扩展函数,可以减少工程师在统计工程量时的工作量。

该函数具有一定的通用性。可以在MS Office和金山WPS上使用。

文末会给出使用本函数的简单步骤,关于如何在Excel(或WPS)中自定义函数的较详细介绍请移步这里[1]

将下面内容复制到模块中去,保存后即可使用自定义的ZH_Len函数计算两个桩号之间的长度。

'函数:ZH_Len
'作用:起终点桩号之差(返回数字)
'作者:@我只是一小小鸟 t5lyg@126.com
'版本: V1.0
'时间:2014.12.09
Function ZH_Len(终点桩号, 起点桩号)
ZH_Len = ToNumber(终点桩号) - ToNumber(起点桩号)
End Function
'去掉字符串中的非数字
'考虑了小数、负数的情况,但是不能处理两个负号的桩号
Function ToNumber(C)
Dim Temp
Temp = ""
For i = To Len(C)
If IsNumeric(Mid(C, i, )) = True Then
Temp = Temp & Mid(C, i, )
ElseIf Mid(C, i, ) = "." Then '考虑小数
Temp = Temp & Mid(C, i, )
ElseIf Mid(C, i, ) = "-" Then '考虑负数
Temp = "-"
End If
Next i
ToNumber = Temp
End 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

[VBA]发布一个计算桩号之差的Excel自定义函数(VBA)的更多相关文章

  1. Excel VBA 从一个工作簿查找另一个一个工作簿中的一些内容复制到另外一个工作簿

    帮朋友来写个Excel VBA 以前写过ASP,所以对vb略微熟悉,但VBA 没有仔细研究过. 以前只研究过 vba 写一个 计算个人所得税的程序. 这次写的功能也算是简单,但也耗费了两天的功夫. 需 ...

  2. C# 获取当前月第一天和最后一天 计算两个日期差多少天

    获取当前月的第一天和最后一天 DateTime now = DateTime.Now; DateTime firstDay = ); DateTime lastDay = firstDay.AddMo ...

  3. 【转】发布一个基于NGUI编写的UI框架

    发布一个基于NGUI编写的UI框架 1.加载,显示,隐藏,关闭页面,根据标示获得相应界面实例 2.提供界面显示隐藏动画接口 3.单独界面层级,Collider,背景管理 4.根据存储的导航信息完成界面 ...

  4. [VBA]用一个简单例子说明如何在Excel中自定义函数

    Excel中的函数无疑是强大的,但是再强大的战士也有他脆弱的脚后跟[1].这两天在使用Excel的时候遇到了一个需求,要在某一个单元格里面自动计算今天是星期几(如显示 Today is Tuesday ...

  5. 使用gitbook 发布一个教程文档网站

    gitbook是一个好用的发布电子书的项目:使用gitbook 可以在本地写好文档再远程推送到库:也可以在gitbook提供的在线平台上制作电子书:要想在自己的服务器上使用gitbook 发布一个网站 ...

  6. 给定桩号获取纵断面中的高程值(c# for civil3d)

    通过civil3d提供的api,也就是纵断面Profile类提供的方法---public double ElevationAt(double station),就可以很轻松的获取纵断面对象某桩号处的高 ...

  7. 教你一步步发布一个开源库到 JCenter

    今天想来分享下,如何一步步自己发布一个开源库到 JCenter 这方面的博客网上已经特别多了,所以本篇并不打算仅仅只是记录流程步骤而已,而是尽可能讲清楚,为什么需要有这个步骤,让大伙知其然的同时还知其 ...

  8. 发布一个PHP包到Packagist, 然后使用Composer安装

    Composer 能够方便的进行项目的依赖管理,  当我们发布一个包并且希望别人通过Composer安装的时候, 就需要将包发布到Composer的包仓库Packagist上面. 下面进行详细的说明一 ...

  9. 微信小程序发布一个月,世界并没有什么不同

    从某种意义上说,在张小龙身上,最可怕的事情莫过于微信小程序发布一个月,一开始的大红大紫居然渐归沉寂,曾经的风光无限已无人谈起,世界并没有什么不同. 这真像一场噩梦,一切都可怕地颠倒了.一款微信的战略级 ...

随机推荐

  1. 基于网络的服装定制MTM系统研究 - 硕士论文 - 道客巴巴

    国内的mtm系统_百度搜索 基于网络的服装定制MTM系统研究 - 硕士论文 - 道客巴巴 PDF文档(共76页) - 下载需1800积分 天津工业大学 硕士学位论文基于网络的服装定制MTM系统研究 姓 ...

  2. JavaWeb:基于MVC设计模式的一个小案例(一)

    (未经允许,请勿转载,谢谢.) 本案例的处理过程: 客户端发送一个请求给服务器,服务器把这个请求给Servlet,Servlet 获取请求信息,根据请求信息的情况去调用 model (在这里是一个普通 ...

  3. MYSQL视图的学习笔记

    MYSQL视图的学习笔记,学至Tarena金牌讲师,金色晨曦科技公司技术总监沙利穆 课程笔记的综合. 视图及图形化工具   1.       视图的定义 视图就是从一个或多个表中,导出来的表,是一个虚 ...

  4. sublime3 使用技巧

    Ctrl+O(Command+O)可以实现头文件和源文件之间的快速切换 Ctrl+Shift+T可以打开之前关闭的tab页,这点同chrome是一样的 Ctrl+R定位函数:Ctrl+G定位到行: 插 ...

  5. HTTP Status 404(The requested resource is not available)的几种解决方法

    原因:servlet没有配置正确 ,查看web.xml确认正确,以及自己的请求路径正确 在IE中提示“404”错误有以下三种情况 1.未部署Web应用 2.URL输入错误 排错方法: 首先,查看URL ...

  6. [Javascript] Array methods in depth - some

    some returns a boolean value after passing each item in the source array through the test function t ...

  7. <a>标签中href="javascript:;"

    javascript: 是一个伪协议,其他的伪协议还有 mail:  tel:  file:  等等. 1 <a id="jsPswEdit" class="set ...

  8. 自定义控件 闪烁效果的TextView

    使用 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android ...

  9. ASP.Net用jQuery ajax实现页面局部刷新

    刚开始的时候使用asp的updatepanel控件实现局部刷新,而且在本地运行正确,但是部署到服务器上就变成整个页面全部刷新了.服务器用的是Windows server2000,本地机子上用的是win ...

  10. DKNightVersion的基本使用(夜间模式)

    DKNightVersion下载地址: https://github.com/Draveness/DKNightVersion 基本原理就是利用一个单例对象来存储颜色, 然后通过runtime中的ob ...