乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > EXCEl VBA与数据统计 第二章 VBA运行环境-excel2007兼容包

EXCEl VBA与数据统计 第二章 VBA运行环境-excel2007兼容包

作者:乔山办公网日期:

返回目录:excel表格制作

第二章 VBA代码保存和运行环境

第一节VBE环境

2.1 如何编写、存放和运行代码

2.1.1 VBE简介

也许有的读者从第一章的内容中已经知晓,在运用VBA进行工作时,需要在Excel表格中进入VBE。那么,什么是VBE呢?VBE全写为Visual Basic Editor,是微软公司为Visual Basic程序编写和运行而开发的一个集成环境,在这个环境中,可以对VBA代码进行编辑,包括代码键入、复制、修改、等。

2.1.2如何进入VBE界面

在Excel中进入VBE的方法是:打开Excel表格,然后按下Alt键和F11键,将弹出VBE窗口,图2.1显示了VEB默认窗口。

图2.1 VBE窗口

VBE界面简介

2.1.2.1 VBE界面由菜单、工具栏、帮助窗口、资源管理器、属性窗口组成。

2.1.2.2 菜单窗口:大部分VBA程序的运行、编译和调试均可在菜单栏中实现。

2.1.2.3 资源管理器:可以查看、打开、关闭目前VBA项目所设计的工作簿、工作表等。

2.1.2.4 属性窗口:显示和修改目前选定对象的属性,在界面设计一章中,将专门讲解利用属性窗口美化界面的方法。

2.2 模块和类模块

2.2 模块:

模块就是为了一系列相同或者相似,彼此之间有逻辑联系的问题而设定的一个整体的“过程”可以人为地给这个“过程”添加一些功能,在VBE中进行编辑时,一般情况下,需要插入一个或者多个模块。通常情况下,将一段具有某种功能的VBA程序编写到一个特定的模块中,就可以编译运行该程序了。

2.2.1 如何插入模块

进入VBE界面以后,点击菜单栏中的“插入”,然后再点击“模块”,就可以插入一个模块了,插入模块以后的VBE界面如下:

图2.2 插入模块后的VBE

插入模块后,VBE自动建立模块代码窗口(当前鼠标闪烁位置)在这个代码窗口中输入特定的VBA代码,就可以提运行了。

2.2.2 如何在模块中编写代码

插入模块后就可以在其中编写代码,编写代码一般可以采用直接写入或者复制的方式进行

2.3 类模块

与模块不同,类模块并不是为解决某一个具体的问题而设计的,而是为了某一类问题而设计的某种“通用”的模板,或者独立于模块而存在,为模块所调用的一些基层的功能或者函数。类模块这一部分将在第9章进行详细的讲解。

第二节 过程和函数

VBA的前身是宏(Macro),关于宏的相关知识,有兴趣的读者可以自己寻找相关的材料进行了解,这里只需要记住一点,VBA中定义的过程的过程名就是宏名称,即可。

2.1过程

前面已经提到了过程一词。在VBA中,过程可以理解为“为了达到某一个具体工作目的而编写的一小段具有完整功能的VBA代码“

与插入模块和类模块相似,VBA中需要用相应的代码来定义一个过程,VBA中定义过程的格式为:

[Private | Public | Friend] [Static] Sub {Name} ([Arglist])

[Statements]

[Exit Sub]

[Statements]

End Sub

下面一一讲解这些最基础单元的意义以及用法

(1)总原则:在上述格式中,中括号”[]”中的部分可以这个部分为可选项,即在VBA过程中这个部分可以省略。带有竖线”|”的部分表示三个选项中可以选择其中的一个(最多选择一个选项,这3个选项,即Private、Public、Friend将在后面的章节中做详细介绍)。花括号“{}”里面的部分表示,这一部分内容必不可少,但是可以用任意的字母或者任意的字母、数字、下划线组合。

(2) [Private | Public | Friend] 这一部分指定这个过程可以运用的范围,当使用Private时,表示这个“过程”是“私有”的,即只有当前的窗体或者同一模块中口语调用这个过程,Public时,表示“公共”的,即这个过程可以被任何窗体或者模块调用,选择Friend时,表示过程为“友员”过程,所有的“友员”模块或者窗体可以调用。

(3) [Static] 这个选项为变量的生命周期变量,每一次运行该过程时,如果过程中的变量想使用上一次运行过程后的变量的数值,则可以添加该选项。

(4) Sub 申明过程的关键词,这个不可以缺少,也不可以修改。

(5) {Name} 过程名称,这一部分用户可以自己使用任何符合规定的名称,名称可以使用英文字母、数字或者下划线,以及其任意组合。但是不可以使用空格、引号、感叹号等符号。

(6) ([Arglist]) 这一部分指明过程所需要的参数,过程可以没有参数,但是不可以省略两边的小括号,即“()”。所谓的参数,就是一个过程在运行的时候,需要外界向这个过程提供的一些信息,这些信息独立于过程而存在,又是过程执行中所需要的。

(7) [Statements] 过程执行的语句段,根据过程的需要,这些语句段由用户自行编写,可以只有一段,也可以有许多段。

(8) [Exit Sub] 在执行语句段时,根据特殊的需要的特别的情况,提前结束整个过程。

(9)End Sub 表示过程结束,即整个过程执行完成。

2.2 函数

与过程相同的是,函数也是为了实现某一个具体的任务而编写的一个具有完整功能的语句段(代码)。与过程不同的是,(1)过程和函数都可以调用函数,函数却不可以调用过程。(2)在Excel单元格中可以使用函数,却不可以直接使用过程。(3)函数具有具体的返回值,过程没有返回值。

VBA中,对于函数的定义格式为:

[Private | Public | Friend] [Static] Function {Name} ([Arglist]) [As Type]

[Statements]

[Exit Function]

[Statements]

End Function

(1)总则:参见1.1.4.1过程,这里的原则和过程定义时一致。

(2) [Private | Public | Friend] 指定该函数可以被调用的范围,意义与过程定义一致。

(3) [Static] 指定该函数调用时变量是否采用Static形式,意义与过程一致。

(4) Function 定义函数的关键字,不可缺少,不可更改。

(5) {Name} 函数名称,用户可以任意命名,命名原则同过程名的命名。

(6) ([Arglist]) 函数的参数,这一部分可以没有,也可以有很多种形式,后面将这一部分的语法详细解释。

(7) [As Type] 设定函数的返回值的类型。这一部分内容,请读者在了解了第三章变量以后自行领悟。

(8) [Statements] 函数具体功能的实现,用户根据自己具体需要进行编写。

(9) [Exit Function] 根据特殊情况,提前结束函数的执行过程。

(10) End Function 函数执行完毕

(11) [Arglist] 部分语法:[Optional] [ByVal | ByRef] [ParamArray] {VarName} [()] [As Type] [=defaultvalue]

这一部分语法解释如下:

(12) [Optional] 表示这个参数为可选参数,函数在执行时,一般情况下可以不用这个参数,该参数可以起到改变函数功能的作用,此时可以选择用Optional命令。

(13) [ByVal | ByRef] 函数参数的传递方式,ByVal为数值传递,ByRef为地址传递,两者的区别请阅读函数相关的章节。

(14) [ParamArray] 函数的参数个数不确定,用参数数组的形式参与运算。

(15) {VarName} 参数名称,即函数需要的参数的名称,这一部分命名原则和函数名称命名一致。

(16) [As Type] 参数的类型,即参数的变量类型。这一部分也将在变量一章中进行解释。

(17) [=defaultvalue] 指定参数的默认数值,即忽略参数时或者参数可选时,这个参数的默认数值。

第三节 运行第一个简单代码

终于可以运行第一个简单代码了!我们来看一看运行代码的具体过程是怎样的。

2.3.1 进入Excel VBE界面

打开Excel表格,按下Alt+F11快捷键,进入VBE界面

2.3.2 插入模块

点击VBE界面菜单栏中的“插入”按钮,然后选择“模块”

2.3.3 敲入代码

敲入“sub Show()”,并按下回车键。注意到,当按下回车后,VBE自动将这一段改为:

Sub Show()

End Sub

并且光标自动停止在Sub和End Sub之间,从这里,我们可以看出,VBE界面比我们想象中更加的有好强大,其可以自己对用户输入的部分进行修改

2.3.4 继续录入完整的代码

Sub Show()

MsgBox Now

End Sub

2.3.5 运行代码

在录入完整代码后,可以尝试运行一下代码,在VBE中,运行代码的方法有

(1)在VBE界面中直接按下运行按钮运行按钮为一个绿色的三角形

图 2.3 运行按钮

(2)在VBE界面中按下F5快捷键

(3)关闭VBE,回到Excel,按下Alt+F8快捷键,然后点击“执行”

(4)在Excel中插入按钮控件,然后将控件与编写的宏名称相关联,插入控件以及关联宏的方法将在第10章界面设计中详细讲述。

第四节 注释以及Excel的保存形式

2.4.1 注释

在VBA代码中,允许插入一段或者若干段解释代码作用的文字,这样的文字叫做注释,给代码加注释的作用,好比如学生做的课堂笔记,对于以后代码的维护起到关键性的作用,在学习编写VBA程序的过程中,给VBA程序编写注释是一个很好的习惯,由于在本书中,已经在一段程度的后面通过文字的方法对程序进行了说明,因此程序中不再加入注释的部分。在VBA编辑环境中,加入注释的方法是在需要注释的开头加上一个单引号“’”或者使用关键字Rem,再加上注释的内用。注释的内用并不参与命令和程序的编译,只是给程序的编写者或者相关人员阅读程序提供方便。

在使用单引号的方式加入注释时,单引号可以出现在这一行的任意位置,单引号后面的内用(即与单引号后面同一行的内容)会被认为是注释的内容。使用Rem关键字加入注释时,Rem关键字只可以出现在一行的首位置,这一行的所有内容都会被当作注释内容。注释的部分内容会被VBE环境表示为绿色。

图2.4 注释

2.4.2 Excel保存的格式

在一段VBA编写完成后,需要对Excel表格进行保存,在保存格式中,一般选择xls格式,这是因为:

(1)在Excel 2007之前的版本,保存格式为xls。保存问xls时,可以兼顾对VBA代码的保存以及兼容低版本Excel。

(2)保存为xlsx格式时,不能兼顾对VBA代码和宏的保存,为了保存VBA代码以及宏,Excel 2007之后的版本需要保存成xlsm的格式。而低版本的Excel(Excel 2003版本)不能打开xlsm格式文件。

相关阅读

关键词不能为空
极力推荐
  • 手把手,一起制作斜线表头-excel表格斜线

  • excel表格斜线,小伙伴们好啊,今天咱们聊聊Excel报表表头的那些事儿。首先说说斜线表头,斜线表头可以用来表示二维表格中的各个不同项目,一般有单斜线表头和双斜线标题两种。

ppt怎么做_excel表格制作_office365_word文档_365办公网