ExcelVBA语法基础

上传人:s9****2 文档编号:495330189 上传时间:2022-10-15 格式:DOC 页数:32 大小:511.50KB
返回 下载 相关 举报
ExcelVBA语法基础_第1页
第1页 / 共32页
ExcelVBA语法基础_第2页
第2页 / 共32页
ExcelVBA语法基础_第3页
第3页 / 共32页
ExcelVBA语法基础_第4页
第4页 / 共32页
ExcelVBA语法基础_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《ExcelVBA语法基础》由会员分享,可在线阅读,更多相关《ExcelVBA语法基础(32页珍藏版)》请在金锄头文库上搜索。

1、.第2章VBA语法基础和其他编程语言类似,VBA程序代码也是有基础语句组成的。在本章中,将结合具体的例子来介绍VBA 语法的基础内容。主要包括输入、输出语句、分支结构和循环结构等。在讲解各例子的时候,将详细分析例子的应用范围。2.1输入和输出语句在本小节中,将详细讲解最基础的语法结构:顺序结构。顺序结构不需要使用特殊的控制语句,编辑工具按照用户编写的程序语句依次编译,依次执行。本小节中,将详细讲解最基础的顺序语句:输入和输出语句。案例8输出数据表1功能说明在ExcelVBA中,用户可以使用Print方法输入各种类型的数据。同时,用户可以在程序代码中设置不同的输出,来检测程序代码。2语法说明在E

2、xcelVBA中,Print方法组要应用于Debug 对象,其语法格式如下:Debug.Printoutputlist参数outputlist表示需要打印的表达式或列表。如果省略参数,那么打印空白行。Print方法先计算表达式的数值,然后输出结果。在outputlist 参数中还可以使用分隔符,格式化输出的结果,分隔符有以下几种:Spc(n):插入n 个空格到输出数据之间;Tab(n):移动光标到适当位置,n为移动的列数;分号:表示前后两个数据项连在一起输出;逗号:以14 个字符为一个输出区,每个数据输出到对应的输出区。3案例说明本例使用Print 方法向VBE的立即窗口中输出数据表。4编写代

3、码输出数据表的代码如下:Sub GetNumbers() Dim i As Integer-.Dim j As IntegerFor i = 1 To 5For j = 1 To iDebug.Print i; +; j; =; i + j; ; NextDebug.Print NextEnd Sub5运行结果按功能键“F5运行子过程,在“立即窗口输出数据计算表,如图2.1 所示。图2.1 输出结果6程序分析在上面的程序代码中,利用循环结构依次输出不同情况的数字计算结果。关于循环结构的知识,将在后面章节中详细讲解。案例9输入用户名1功能说明在ExcelVBA开发过程中,经常需要和用户进行交互。

4、例如,很多程序代码的结果依赖于用户输入的信息。这个时候,用户需要调用输入函数,提供用户输入信息,并接收用户所输入的信息。2语法说明在ExcelVBA中,用户可以使用InputBox函数输入信息。该函数将打开对话框,用户可以在对话框中输入数据,并返回所输入的内容。其语法格式如下:InputBox(prompt, title, default , xpos , ypos , helpfile, context)各参数的含义如下:Prompt:对话框消息出现的字符串表达式。最大长度为1024个字符。如果需要在对话框中显示多行数据,那么可在各行之间用回车符换行符来分隔。Title:对话框标题栏中的字符

5、串。如果省略该参数,那么把应用程序名放入标题栏中。Default:显示在文本框中的字符串。如果省略该参数,那么文本框为空。-.Xpos:和Ypos成对出现,指定对话框的左边与屏幕左边的水平距离。如果省略该参数,那么对话框会在水平方向居中。Ypos:和Xpos成对出现,指定对话框的上边与屏幕上边的距离。如果省略该参数,那么对话框被放置在屏幕垂直方向距下边大约三分之一的位置。Helpfile:设置对话框的帮助文件,可省略。Context:设置对话框的帮助主题编号,可省略。3案例说明在本例中,将演示使用InputBox 函数对话框输入信息,然后将信息输出到立即窗口中。4编写代码在模块中输入以下代码:

6、Sub CetUserName() Dim Title As String Dim Name As StringDim StrName As StringTitle = 输入用户名Name = 在选框中输入用户名: StrName = InputBox(Name, Title) Debug.Print 用户名:; StrNameEnd Sub5运行结果1按功能键“F5运行子过程,将弹出“输入个人信息窗口,如图2.2所示。在对话框中输入内容后单击“确定按钮。2在“立即窗口中将输出这些内容,如图2.3所示。图2.2 输入用户名图2.3 输出结果6程序分析本案例比较简单,直接使用InputBox函数

7、来输入信息。对于InputBox函数的其他参数,都直接使用默认数值。在实际开发中,用户可以设置这些参数的数值,实现不同的功能。-.案例10事件确认1功能说明在ExcelVBA编码和调试代码的过程中,经常需要获取代码运行的阶段性结果或者信息。例如,在编写数据处理的代码中,用户需要跟踪某变量的数值变化。因此,需要在程序进行的不同地方,显示该变量的数值。2语法说明在ExcelVBA中,用户可以使用MsgBox函数来显示提示信息。MsgBox 函数可打开对话框,显示提示信息。并根据用户选择对话框中的按钮,执行不同的程序代码。其语法格式如下:Value=MsgBox(prompt,buttons,tit

8、le ,helpfile,context)通过函数返回值可获得用户单击的按钮,并可根据按钮数值而选择程序段来执行。函数有5 个参数,各参数的意义与Inputbox函数参数的意义类似。对于buttons参数,其含义是指定显示按钮的数目及形式、使用提示图标样式以及默认按钮等。其常数值如表2.1所示。表2.1按钮常数值常量值说明vbOkOnly0只显示“确定(Ok)按钮vbOkCancel1显示“确定(Ok)及“取消(Cancel)按钮vbAbortRetryIgnore2显示“异常终止(Abort)、“重试(Retry)及“忽略(Ignore)按钮vbYesNoCancel3显示“是(Yes)、“

9、否(No)及“取消(Cancel)按钮vbYesNo4显示“是(Yes)及“否(No)按钮vbRetryCancel5显示“重试(Retry)及“取消(Cancel)按钮vbCritical16显示CriticalMessage 图标vbQuestion32显示Warning Query图标vbExclamation48显示WarningMessage图标vbInformation64显示Information Message图标vbDefaultButton10以第一个按钮为默认按钮vbDefaultButton2256以第二个按钮为默认按钮vbDefaultButton3512以第三个按钮

10、为默认按钮vbDefaultButton4768以第四个按钮为默认按钮vbApplicationModal0进入该消息框,当前应用程序暂停vbSystemModal4096进入该消息框,所有应用程序暂停表2.1中的数值或常数可分为四组,其作用分别为:第一组值05:确定对话框中按钮的类型与数量。-.第二组值16,32,48,64:确定对话框中显示的图标。第三组值0,256,512:设置对话框的默认活动按钮。第四组值0,4096:确定消息框的强制响应性。buttons参数由上面4 组数值组成,其组成方法是:从每一类中选择一个值,把这些数值组合起来,就是buttons参数的值。3案例说明本例的主要功

11、能是当用户激活工作表Sheet1时,Excel显示激活的信息。4编写代码1进入VBE,在代码窗口左上方的对象列表中选择“Worksheet,如图2.4 所示。2在代码窗口右上方的事件列表中选择“Activate,如图2.5 所示。图2.4 对象列表图2.5 事件列表3在上面生成的事件过程中输入以下代码:Private Sub Worksheet_Activate() MsgBox (你激活了 Sheet1 工作表!)End Sub5运行结果打开工作薄,然后选择Sheet1 工作表,结果如图2.6所示。图2.6 显示的提示信息-.6程序分析在本例中,使用的是MsgBox函数的最简单形式,也就是直

12、接使用MsgBox函数显示一个字符串信息。在实际开发中,用户可以设置各参数,得到不同的显示结果。2.2选择结构在ExcelVBA中,除了常见的顺序结构之外,还有一种常见结构:选择结构。选择结构的程序将根据给定的条件选择执行后续的代码。选择结构在日常生活中应用十分广泛,在本小节将结合具体的例子来讲解如何使用选择结构。案例11判断优秀员工1功能说明在实际开发中,当用户只需要进行一种情况的判断时,最方便的方法是IfThen语句。If 后面的语句就是判断的条件,Then后面的语句是需要执行的操作。2语法说明在ExcelVBA中,使用If.Then语句可有条件地执行语句。其语法格式如下:If 逻辑表达式

13、 Then语句 1语句 1 语句 nEnd If逻辑表达式可以是计算数值的表达式,VBA将为0看作为False,而非零数值都被看作True。该语句的执行顺序是:当逻辑表达式的值是True,那么执行位于Then与EndIf 之间的语句;当逻辑表达式的值是False,那么不执行Then与End If 之间的语句,直接跳出循环结构,其流程图如图2.7所示。语句序列逻辑表达式假真图2.7 If Then语句流程图-.If Then结构还有单行结构条件语句。其语法格式如下:If逻辑表达式Then语句该语句的功能为:当逻辑表达式的值是True,那么执行Then后的语句;当逻辑表达式的值是False,那么不

14、执行Then后的语句。3案例说明某公司统计了员工上个月的销量,根据销量数值,公司判定销量数值大于350的员工为优秀员工。对于优秀员工将其对应的单元格标红,原始数据如图2.8 所示。图2.8 原始数据4编写代码判断优秀员工的代码如下:Sub ShowExcel() Dim i As IntegerFor i = 2 To 10If Sheets(1).Cells(i, 2).Value 350 Then Cells(i, 2).Interior.ColorIndex = 3End If NextEnd Sub5运行结果打开工作薄,然后运行程序代码,结果如图2.9 所示。-.图2.9 运行结果6程序分析从上面案例的结果中可以看出,当程序处理的只有一个条件时,使用If.Then语句可以很便利的解决问题。案例12根据编号分组1功能说明当用户在实际开发时

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号