教你如何通过ExcelVBA编写测量坐标计算程序Word格式.docx
- 文档编号:21169521
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:7
- 大小:20.41KB
教你如何通过ExcelVBA编写测量坐标计算程序Word格式.docx
《教你如何通过ExcelVBA编写测量坐标计算程序Word格式.docx》由会员分享,可在线阅读,更多相关《教你如何通过ExcelVBA编写测量坐标计算程序Word格式.docx(7页珍藏版)》请在冰豆网上搜索。
或许很多测量人员对Excel
VBA还有些陌生,主要是大家寄托于计算器、电脑、手机PDA等系列软件使用。
VBA对于大多数测量人员而没有系统学过计算机语言程序设计的人群来讲有一定含糊,不过只要有基本数学知识、测量常识和逻辑理解的人,都能通过Excel
VBA编写设计出称心如意的测量程序。
目标:
基于Excel
VBA的测量坐标计算程序的设计目标是将繁琐计算过程转入到计算机中,利用程序语言的重复性原理,在计算机中可将坐标计算得出更精确的结果,使坐标计算更加可靠。
最终目标是让用户可以通过Excel
VBA自行完成坐标计算程序设计。
认识:
学习VBA到底需要什么基础和了解些什么?
学习VBA需要认识英文字母、一般的单词(如:
函数所用的过程)、数学基础知识、测量常识、逻辑性思维即可。
在VBA中需要了解VBA的过程、变量、属性、方法、事件、语句等。
VBA程序可以分为“录制宏、自定义函数”,由于录制宏编写计算类程序它限制了计算涵式过程,而无法达到自定义数据直接运算的目的,所以大家可以通过按钮式点击进行自定义函数过程(还可以通过窗体定义过程)。
基本常识:
1、类型:
常用类型分为Integer(整型)、Single
(单精度型)、Double
(双精度型)、String(字符串型)、Variant(数字)、Variant(字符)。
2、变量:
Dim
变量名
As
数据类型。
例:
A
Double
定义变量除了可以使用Dim语句外,比较常的还有:
static语句,Private语句,Public语句。
3、常量:
Const
常量名
数据类型
=
常量的值。
PI
=3.1415926535898
常量声明后不可对它再进行赋值。
4、If语句:
If
逻辑表达式
Then
┆
Q<
0
语句块1
Q=-1
Else
Else
语句块2
Q=1
End
If
5、Do循环语句:
Do
Wihle
循环条件
While
Cells(j,
1)
<
>
Empty
X
=
N
+
(Cells(j,
-
D)
*
Cos(F)
[Exit
Do]
Y
E
Sin(F)
j
1
Loop
Loop
6、调用单元格数值:
With
Sheets("
单元格名称"
)┆
坐标计算"
)
.Cells(行,
列)┆
.Cells(3,
2)
.Cells(4,
2)
D
.Cells(5,
F
.Cells(6,
With
说明:
这里的.Cells(行,
列)表示调用Sheets("
)单元格中指定数值。
7、MsgBox事件语句:
Private
Sub
Workbook_Open()┆
Workbook_Open()
MsgBox
"
提示语句"
欢迎使用直线坐标计算程序!
Sub
主题:
通过以上认识相信大家对VBA编程稍有认识与了解,现在将进行测量坐标计算程序设计。
给大家讲解的是“直线坐标中桩计算”的程序如何编写与运算。
思路:
根据单元格输入的已知数据并由With过程调用,建立Do循环计算模式自动填充待求点单元格坐标。
准备:
本表需将安全级别设置为“低”,否则运行时点击计算按钮没有反映。
OfficeExcel设置方法如下:
Excel2003版:
工具>
宏>
安全性>
选择较低的安全级别>
重新打开文件即可运行。
Excel2007版:
Office按钮>
Excel选项>
信任中心>
信任中心设置>
宏设置>
启用所有宏。
版本:
程序测试演示版本
MicrosoftOfficeExcel2003
直线坐标计算原理:
如下图所示,已知直线的起点坐标
、起点切线方位角ao、直线长度L。
直线的止点坐标、止点方位角az计算如下:
已知计算数据:
输入直线要素
起点坐标xo
3378605.445
起点坐标yo
453648.704
起点桩号O
7586.707
计算方位角ao
98.565562
程序操作步骤:
1、设置表格框架(可以根据自己的要求设计),图示如下:
2、在菜单栏上面点击右键弹出下拉式对话框选中“Visual
Basic”。
3、调用后的Visual
Basic菜单栏显示如下。
4、插入命令按钮(按钮主要用于鼠标点击时触发函数运行)。
5、插入命令按钮后样式,在上面点击右键→命令按钮
对象→编辑→输入“坐标计算”名称(可以根据自己要求输入)。
同样方法添加“数据清除”按钮。
6、在“坐标计算”按钮上面点击右键→查看代码,即可进入代码编辑区域。
同样方法编辑“数据清除”按钮代码。
7、代码输入区域,在蓝色线条位置粘贴“VBA主要源码”代码然后点击左上角Excel图标即可返回Excel电子表格界面。
(这里还可以在VBAProject上面点击右键→插入模块→将代码粘贴到模块中通过路径指引,但是在这里就直接将代码粘贴在按钮内部减少了添加模块的繁琐)。
VBA主要源码:
Option
Explicit
'
显式声明模块中的所有变量
CommandButton1_Click()'
按钮下粘贴以下代码:
Integer
═╮
Ai,
Bi,
Ci,
Di,
Ei,
Fi,
Gi,
Hi
Double
║
N,
E,
D,
X,
Y,
║定义变量
Pi
3.14159265358979
═╯
Trim(.Cells(3,
2))
请输入“起点坐标X”!
vbInformation,
提示"
:
Exit
Trim(.Cells(4,
请输入“起点坐标Y”!
Trim(.Cells(5,
请输入“起点桩号K”!
║检测数据
Trim(.Cells(6,
请输入“起点方位角F”!
║调用已知数据
═
╯
Gi
Int((.Cells(5,
10)
/
10
.Cells(7,
Fi
Abs(F)
Ai
Int(Fi)
Bi
(Fi
Ai)
100
Int(Bi)
Ci
10000
║六十进制转换为十进制
Di
60
Ei
-Ei
Else
180
Pi
9
Empty
Cos(F)
Sin(F)
║坐标计算核心
Round(X,
3)
Round(Y,
1
CommandButton2_Click()'
Range("
B9:
C65536"
).ClearContents
VBA源码说明:
Option
Explicit'
显式声明模块中的所有变量;
PrivateSubCommandButton1_Click()
Private外部,可供类或是模块自身调用;
Sub过程(不返回值)和函数(返回值)可将其视为类的方法;
CommandButton1_Click()
计算按钮名称。
Integer'
定义整型变量;
Ai,Bi,Ci,Di,Ei,Fi,Gi,Hi
Double'
定义双精度变量;
Pi=3.14159265358979'
定义常量;
)'
介词;
Trim(.Cells(3,2))="
MsgBox"
vbInformation,"
Sub'
Trim删除字符中空格;
.Cells(3,2)调用表中的第三行第二列数值;
MsgBox弹出窗口提示框;
vbInformation弹出窗口类型;
Sub退出程序;
Gi=Int((.Cells(5,2)+10)/10)*10'
Int将数字舍入到最接近的整数;
Fi=Abs(F)'
Abs绝对值;
F<
Then
F=-Ei
F=Ei
If'
当F小于0则F等于-Ei否则F等于Ei结束判断;
With'
结束介词语句;
j=9'
循环定义,表示从第九行开始执行;
Cells(j,1)<
Empty'
While循环控制语句,用于首先执行一次循环体语句,然后开始测试循环条件,当条件为‘真’时继续循环的处理过程;
X=N+(Cells(j,1)-D)*Cos(F)
Y=E+(Cells(j,1)-D)*Sin(F)
Cells(j,2)=Round(X,3)
Cells(j,3)=Round(Y,3)
j=j+1'
逐句循环,每成功运行一次即为循环一次,然后继续执行下一行。
Loop'
当条件不满足时结束循环语句。
退出Sub程序过程。
PrivateSubCommandButton2_Click()
Range("
).ClearContents'
清除区域B9:
C65536中的内容。
粘贴后的代码区域显示:
8、返回Excel表格后点击顶部按钮“退出设计模式”即可正常点击按钮。
9、在单元格中输入已知数据。
10、点击“坐标计算”按钮即可计算出以下坐标。
注:
新建空白表格时需将单元名称“Sheet1”改为“坐标计算”。
程序源码文件下载地址:
vba_zxzb.rar
结论:
通过实践证明,在工作中知道已知测量数学模型并结合编程技术写一些程序对常用的数据处理能够高效的解决实际工作中出现的问题,从而使工作效率得以提高。
在这里或许有朋友要问为什么不编写和演示复杂的曲线坐标计算程序?
其实编写简单的和复杂的都一样,因为教你的只是一种方法,一种思路,而不是里面的公式运算,所以如果你只要用心去学就算告诉你一个简单的过程你就会理解里面的意思。
当然功夫还得靠大家自己多加练习才能迈入编程的正常轨道。
提醒大家一句话:
人人都是天才,只是你能否把空闲时间利用到有价值的基础之上?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 如何 通过 ExcelVBA 编写 测量 坐标 计算 程序