VBA开发EXCEL:闭和导线坐标计算程序
- 格式:xls
- 大小:43.00 KB
- 文档页数:3
Excel VB如何应用在附合导线内业计算中摘要:Excel是大家经常使用的办公软件,相信对大家来说并不陌生。
如果你是从事测量工作,你是否感觉到Excel有很不方便的时候?比如,当你要计算一个方位角的三角函数值,而角度的单位是60进制的,此时,你一定感到很无奈,因为,Excel本身无法直接计算60进制的角度的三角函数;还有,在附合导线内业计算中要计算角度的三角函数值以及坐标增量、以传统的°′″形式显示观测角值和方位角值,要做到这些较专业的工作,Excel电子表的一些常用功能是无法办到的。
当你遇到这种情况,你只有拐弯抹角了,通过配合使用计算器一步一步地计算,很麻烦!同时也失去了Excel电子表的强大的、高效的计算能力。
但你只要对Excel进行一些挖掘,就可以发现Excel的功能我们还没有充分的利用。
Excel本身提供了强大的二次开发功能,只要我们仔细的研究,就可以解决工作中的一些难题。
下面,是本人在测量工作中积累的一些工作经验和方法,希望能和大家一起交流。
关键词:Excel VB 导线计算初识VB语言,首先,你必须懂得一些简单的VB编程常识。
如果不懂就只有通过其他的途径去学习了。
但用不着深入的研究,只要静下心来,几个小时就可以了。
一、60进制的角度的三角函数计算打开Excel,按Alt+F11或从菜单栏中的(工具->宏->Visual Basic编辑器)进入VB编程状态,学过VB的人一看就知道那就是熟悉的VB 界面。
下面看看如何定义一个函数,然后利用它来解决60进制的角度的三角函数计算问题。
在菜单上依次点击[插入]->[模块],然后输入如下代码:Public Const pi = 3.14159265359Public Function DEG(n As Double)Dim A As Double, B As Double, C As Double, D As Double, E As Double, F As Double, G As Double, KA As DoubleD = Abs(n) + 0.000000000000001F = Sgn(n)A = Int(D)B = Int((D - A) * 100)C =D - A - B / 100DEG = F * (A + B / 60 + C / 0.36) * pi / 180End Function这样,就定义了一个名字叫DEG的函数,它的作用就是转换60进制的角度为Excel认识的弧度。
点号°′″观测左角(°)角度改正数(″)改正后的角(°)坐标方位角(°)距离(m)起点N10596160165.6272.6166667N20596160165.6258.2166667N30596160165.6243.8166667N40596160165.6229.4166667N50596160165.6215.0166667N60596160165.6200.6166667N70596160165.6186.2166667N80596160165.6171.8166667N90596160165.6157.4166667N100596160165.6143.0166667N110596160165.6128.6166667N120596160165.6114.2166667N130596160165.699.81666667N140596160165.685.41666667N150596160165.671.01666667N160596160165.656.61666667N170596160165.642.21666667N180596160165.627.81666667N190596160165.613.41666667N200596160165.6359.0166667N210596160165.6344.6166667N220596160165.6330.2166667N230596160165.6315.8166667N240596160165.6301.4166667N250596160165.6287.0166667和——————149040004140——0已知α1=272370272.6166667025-1490400001001/5、该表中第1个点为已知坐标点,“α1”为该已知点至下一导线点的坐标方位角。
“已知边数n”为闭角度闭合差限差(″)=导线全长相对闭合差K=使用说明:1、使用此程序时,要将闭合环导线点进行“逆时针编号”,输入水平角时,要输入左角且7、此程序为图根级导线的计算程序,其他等级导线的计算,其“角度闭合差限差”计算公式及“导线全8、制作:王劲松 2004-06-152、使用时,先将此页复制,再在复制页上进行修改——先将“蓝色”字体项删除,再按实3、当导线点较多或较少时,按实际点数插入或删除行数。
教你如何通过ExcelVBA编写测量坐标计算程序(入门篇)摘要:认识VBA、理解VBA,并利用Office Excel VBA编写测量坐标计算程序。
关键词:Excel VBA 程序坐标编写了解:VBA是什么?简单的说就是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案。
可以用E xcel的宏语言来使E xcel自动化运行等……Microsoft让它开发出来的应用程序共享一种通用的自动化语言——Visual Basic For Application(VBA),可以认为VBA是非常流行的应用程序开发语言Visual Basic的子集,事实上VBA是VB应用程序的版本,尽管存在有些不同VBA和VB在结构上仍然十分相似。
如果你已经了解VB会发现学习VBA非常快。
相应的学完VBA会给学习VB打下坚实的基础。
理由:选择Excel VBA编程的理由是因为它的计算功能非常强大,是现今任何编程计算器无法逾越的。
它运用范围广,计算速度快,计算精度高,合理化显示等。
或许很多测量人员对Excel VBA还有些陌生,主要是大家寄托于计算器、电脑、手机PDA等系列软件使用。
Excel VBA对于大多数测量人员而没有系统学过计算机语言程序设计的人群来讲有一定含糊,不过只要有基本数学知识、测量常识和逻辑理解的人,都能通过Excel VBA编写设计出称心如意的测量程序。
目标:基于Excel VBA的测量坐标计算程序的设计目标是将繁琐计算过程转入到计算机中,利用程序语言的重复性原理,在计算机中可将坐标计算得出更精确的结果,使坐标计算更加可靠。
最终目标是让用户可以通过Excel VBA自行完成坐标计算程序设计。
认识:学习VBA到底需要什么基础和了解些什么?学习VBA需要认识英文字母、一般的单词(如:函数所用的过程)、数学基础知识、测量常识、逻辑性思维即可。
在VBA中需要了解VBA的过程、变量、属性、方法、事件、语句等。
坐标正算、反算计算方法及在Excel 中的VBA 编程测量中经常需要将某点相对坐标系坐标转换成线路的里程、偏距,或根据线路某一里程偏距计算出对应的相对坐标系坐标,为寻求一种快速简单高效的计算方法,本文对线路正算反算的原理进行了阐述,并结合Excel VBA 编程,将编程和Excel 的拖拽的功能相结合,编制出实用计算表,特别适用于需要大量计算边桩、围护桩的情况。
关键词:坐标方位角坐标正算坐标反算 V AB 编程循环迭代直接算法一、坐标方位角的反算1.坐标方位角反算如图1所示,已知点A 、B 的坐标,求直线AB坐标方位角α。
图1坐标方位角反算直线AB 之间的坐标增量:AB B AAB B Ax x x y y y ∆=−∆=−当0,0AB AB x y ∆>∆>时,角α位于第一象限角:arctan ABABy x α∆=∆当0,0AB AB x y ∆<∆>时,角α位于第二象限角:arctan 180AB ABy x α∆=+°∆当0,0AB AB x y ∆<∆<时,角α位于第三象限角:arctan 180AB ABy x α∆=+°∆当0,0AB AB x y ∆>∆<时,角α位于第二象限角:arctan360AB AB y x α∆=+°∆2.坐标方位角反算的VBA 编程可用VBA 将上述过程定义为一个名为angel()的函数,代码如下:Function angel(x0As Double, y0 As Double, x1 As Double, y1 As Double) As Double dx = x1- x0dy = y1- y0If dx > 0 And dy > 0 Thenangel = Atn(dy / dx)End IfIf dx < 0 And dy > 0 Thenangel = Atn(dy / dx) + 3.14159265358979End IfIf dx < 0 And dy < 0 Thenangel = Atn(dy / dx) + 3.14159265358979End IfIf dx > 0 And dy < 0 Thenangel = Atn(dy / dx) + 3.14159265358979 * 2End IfEnd Function二、直线段坐标正算与反算1.直线段正算图2直线段计算已知HZ 点坐标(x1,y1)、里程N HZ ,ZH 点坐标(x2,y2),正算时已知P 点对应的中桩里程Np 和偏距e (规定沿着线路前进方向,左边偏距为负,右边偏距为正),Np>N HZ ,求P 点对应的坐标。
小白自学ExcelVBA道路坐标高程计算程序流程1声明1.1 本人是个工作时间不长测量施工员。
1.2听说想轻松愉快的干好测量得学门编程,又听说ExcelVBA是个简单的可视化的常用的……1.3 本人很懒,面对厚厚的全是“昏天暗地”代码的ExcelVBA教科书籍,实在是没心没力。
其实俺还是懂点儿VB编程的(学校学过“=”是赋值,if、while、end的意思,嘿嘿,还有画窗体图框,其他的就都还给老师了)。
1.4 谷歌、度娘,是咱的好帮手。
1.5 仰望的存在,神一般的存在,无私的化身!道路中边桩坐标计算程序120424.xls(王中伟”教授”QQ:595077)曲线坐标计算程序VBA 4.6.xls(陈超”中铁”QQ:295188316)陈师傅的VBA代码乍一看感觉比王老师的让人头痛,怎么说咱们也是个有理想有目标的人,要啃就啃硬骨头!就选~~~嘿嘿~~~王老师的程序吧!1.6 道路中边桩坐标计算程序120424.xls代码获取。
王老师、陈师傅担心不懂编程的人,不小心修改代码导致程序错误,设置了vba密码(个人认为),其次我跟他们不熟,没有正大光明的要的密码,于是求助谷歌度娘,这个关于VBA 密码破解,于是很不厚道的得到了密码,为了方便本次学习,又很不厚道的把道路中边桩坐标计算程序120424.xls的密码贴出来(df750726),神人勿怪呀!2 代码理解ing…我们通过密码打开vba代码窗口,大家可以先把每个表格打开浏览一下代码,是不是感觉很短呀,感觉应该是超级链接的意思,嘿嘿,主要的代码在模块“lx”里,打开下,代码多吧,这就是咱们要肯的骨头。
现在咱们冲呀!2.1 第一段代码理解貌似第一段代码是定义的意思“定义π值”、'定义桩号点”、“'定义坡段”、“'定义基本曲线”①Public Const PI As Double = 3.14159265358979谷歌翻译:Public Const PI As Double公共常量PI 作为双精度浮点型百度百科:双精度浮点数双精度浮点数(Double)用来表示带有小数部分的实数,一般用于科学计算,用8个字节(64位)存储空间,其数值范围为1.7E-308~1.7E+308,双精度浮点数最多有15或16位十进制有效数字,双精度浮点数的指数用“D”或“d”表示。
基于Excel的导线控制测量的数据处理刘占云【摘要】为了更好的将Excel自动计算功能应用到施工现场测量工作中,通过Excel VBA语言,结合测量导线计算公式,采用近似平差原理,自动处理全站仪采集的原始数据以得到自动计算的结果.该方法提高了施工现场施工测量工作效率.【期刊名称】《国防交通工程与技术》【年(卷),期】2019(017)002【总页数】6页(P72-77)【关键词】导线控制测量;近似平差;Excel VBA;数据处理【作者】刘占云【作者单位】中铁六局集团石家庄铁路建设有限公司,河北石家庄050050【正文语种】中文【中图分类】U452.131 Excel的扩展应用随着全站仪在工程上的普及应用,用全站仪进行导线控制网的测量已非常普遍,Excel作为一种非常普及的办公自动化软件,可以利用其开发语言VBA,调用某些属性、方法和事件,处理平面控制测量的数据等工作。
Excel 是Office 家族成员中一个功能强大、技术先进、使用方便的数据管理和分析系统。
它采用电子表格方式进行数据处理,工作直观方便。
Excel 为用户提供了丰富的函数,用户可以随意进行各种数据处理、统计分析和辅助决策。
为了使得Excel 发挥最大功效,可以借助于VBA开发一些应用程序。
使用VBA可以为Excel应用程序提供新的功能或增强现有的功能,从而减少在Excel中进行操作所需的工作量。
VBA语言功能强大。
通过将VBA 与Excel 结合起来,建立各种数据处理模型,不仅可以提高工作效率,也使得对各种数据的处理得心应手。
2 已知数据的录入2.1 Excel标准格式的生成2.1.1 建立表格打开Excel2003程序,单击保存,名为“基于EXCEL的导线控制测量数据处理”,格式选择“模板”,在“保存位置选择自己要保存的位置”,单击“保存”。
单击菜单栏“工具”项,在其下拉菜单“宏”选择“Visul Basic 编辑器”。
如图1所示。
教你如何通过Excel VBA编写测量坐标计算程序发布日期:2013-01-11来源:网络作者:未知浏览次数:1704摘要:认识VBA、理解VBA,并利用Office Excel VBA编写测量坐标计算程序。
关键词:Excel VBA程序坐标编写了解:VBA是什么?简单的说就是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案。
可以用Excel的宏语言来使Excel自动化运行等……Microsoft让它开发出来的应用程序共享一种通用的自动化语言——Visual Basic For Application(VB A),可以认为VBA是非常流行的应用程序开发语言Visual Basic的子集,事实上VBA是V B应用程序的版本,尽管存在有些不同VBA和VB在结构上仍然十分相似。
如果你已经了解VB会发现学习VBA非常快。
相应的学完VBA会给学习VB打下坚实的基础。
理由:选择Excel VBA编程的理由是因为它的计算功能非常强大,是现今任何编程计算器无法逾越的。
它运用范围广,计算速度快,计算精度高,合理化显示等。
或许很多测量人员对Excel VBA还有些陌生,主要是大家寄托于计算器、电脑、手机PDA等系列软件使用。
Excel VBA对于大多数测量人员而没有系统学过计算机语言程序设计的人群来讲有一定含糊,不过只要有基本数学知识、测量常识和逻辑理解的人,都能通过Excel VBA编写设计出称心如意的测量程序。
目标:基于Excel VBA的测量坐标计算程序的设计目标是将繁琐计算过程转入到计算机中,利用程序语言的重复性原理,在计算机中可将坐标计算得出更精确的结果,使坐标计算更加可靠。
最终目标是让用户可以通过Excel VBA自行完成坐标计算程序设计。
认识:学习VBA到底需要什么基础和了解些什么?学习VBA需要认识英文字母、一般的单词(如:函数所用的过程)、数学基础知识、测量常识、逻辑性思维即可。