Excel VBA在工程测量上的应用

Excel VBA在工程测量上的应用

ID:19032439

大小:19.72 KB

页数:11页

时间:2018-09-28

Excel VBA在工程测量上的应用_第1页
Excel VBA在工程测量上的应用_第2页
Excel VBA在工程测量上的应用_第3页
Excel VBA在工程测量上的应用_第4页
Excel VBA在工程测量上的应用_第5页
资源描述:

《Excel VBA在工程测量上的应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ExcelVBA在工程测量上的应用Excel是大家很熟悉的办公软件,相信大家在工作中经常使用吧。在测量工作中,你是否感觉到有很不方便的时候?比如,计算一个角度的三角函数值,而角度的单位是60进制的,此时,你一定感到很无奈,因为,Excel本身无法直接计算60进制的角度的三角函数!还有,如果你的工作表中有了点坐标值,要在CAD中展绘出来,怎样才能又快又直接?不然,就只有拐弯摸角了,很痛苦啊!其实,只要对Excel进行一些挖掘,就可以发现Excel的功能我们还没有好好的利用呢。Excel本身提供了强大的二次开发功能,只要我们仔细的研究,没有什么能难倒我

2、们的。下面,好好笔者将带你走近Excel,认识它的强大的二次开发环境VBAIDE,用它来解决上面所提到的问题,就非常容易了。  初识VBAIDE,首先,你必须懂得一些简单的VB编程常识。如果不懂就只有通过其他的途径去学习了。但用不着深入的研究,只要静下心来,几个小时就可以了。  打开Excel,按Alt+F11即进入VBAIDE,学过VB的人一看就知道那就是熟悉的VB界面。下面看看如何定义一个函数,然后利用它来解决60进制的角度的三角函数计算问题。在菜单上依次点击[插入]->[模块],然后输入如下代码PublicConstpi=PublicFunc

3、tionDEG(nAsDouble)DimAAsDouble,BAsDouble,CAsDouble,DAsDouble,EAsDouble,FAsDouble,GAsDouble,KAAsDoubleD=Abs(n)+F=Sgn(n)A=Int(D)B=Int((D-A)*100)C=D-A-B/100DEG=F*(A+B/60+C/)*pi/180EndFunction  这样,就定义了一个名字叫DEG的函数,它的作用就是转换60进制的角度为Excel认识的弧度。编辑完后按Alt+Q即返回Excel,再在某一单元格输入=sin(deg(A1))

4、(A1既可以是单元格的值,也可以是输入的角度值),回车,哈哈,怎么样?结果出来了吧?你可以用计算器检验一下是否正确。如果出现#NAME?那就要设置一下安全设置。依次点[工具]->[宏]->[安全性],在安全级选项卡上选择“中”或者“低”,然后关闭后重新打开就可以了,以后只要是60进制的角度,就用它转换,非常方便哦。  工程测量中,经常碰到导线的计算,如果手头没有平差计算程序就只有手工计算了,这时候你曾经想过编个小程序来计算?其实,这很简单,笔者在宛坪高速公路上做测量监理,因为有大量的导线需要复核,故编写了一个附合导线计算程序,代码很简单,但很实用。

5、下面是该程序的代码:Sub附合导线计算()DimmAsInteger,nAsInteger,msAsDouble,ggAsDouble,shtAsObject,xxAsDouble,yyAsDouble,SAsDoubleSetsht=DoWhile(m+3,4)""m=m+1LoopForn=3Tom+2ms=DEG(ms)+DEG((n,4))ms=RAD(ms)S=S+(n,3)Nextms=DEG(ms)gg=RAD(DEG((3,5))+ms-DEG((3+m,5))-pi*m)xx=0:yy=0Forn=4Tom+2'方位角(n,5)=

6、RAD(DEG((n-1,5))+DEG((n-1,4))-pi-DEG(gg)/m)'坐标增量(n,6)=Format((n-1,3)*Cos(DEG((n,5))),"#####.####")(n,7)=Format((n-1,3)*Sin(DEG((n,5))),"#####.####")'坐标增量和xx=xx+(n,6)yy=yy+(n,7)Nextxx=xx+(3,10)-(m+2,10)yy=yy+(3,11)-(m+2,11)(m+4,5)="△α="&Format(gg,"###.######")(m+4,6)="△X="&Form

7、at(xx,"###.###")(m+4,7)="△Y="&Format(yy,"###.###")(m+4,3)="∑S="&Format(S,"###.###")(m+4,9)="△S="&Format(Sqr(xx*xx+yy*yy),"###.###")(m+4,10)="相对精度1/"&Format(S/Sqr(xx*xx+yy*yy),"######")Forn=4Tom+2(n,8)=Format(xx/S*(n-1,3),"###.####")(n,9)=Format(yy/S*(n-1,3),"###.####")NextForn

8、=4Tom+1(n,10)=(n-1,10)+(n,6)-(n,8)(n,11)=(n-1,11)+(n,7)-(n,9)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。