练习1-Excel宏与VBA语法基础_第1页
练习1-Excel宏与VBA语法基础_第2页
练习1-Excel宏与VBA语法基础_第3页
练习1-Excel宏与VBA语法基础_第4页
练习1-Excel宏与VBA语法基础_第5页
已阅读5页,还剩3页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验1Excel宏与VBA语法根底

一、实验目的

1.熟练掌握录制宏、执行宏、加载宏的方法;

2.熟练使用ExcelVBA编辑环境,掌握VBA的编辑工具VBE的结构和使用;

3.熟练掌握VBA的根底语法和语句,包括对象、属性和方法,运算符的使用,

常用语句和变量的使用。

二、知识要点

1.宏

宏是被存储在VisualBasic模块中的一系列命令和函数。在需要执行宏时,宏

可以立刻被执行,简单地说,宏就是一组动作的组合,宏是Excel能够执行的一

系列VBA语句,它是一个指令集合,可以使Excel自动完成用户指定的各项动作

组合,而且宏的录制和使用方法相对也比拟简单。录制宏命令时,Excel会自动记

录并存储用户所执行的一系列菜单命令信息;运行宏命令时,Excel会自动将已录

制的命令组合重复执行一次或者回放,从而实现重复操作的自动化。也就是说,

宏命令本身就是一种VBA应用程序,它是存储在VBA模块中的一系列命令和函

数的集合。当执行宏命令所对应的任务组合时,Excel会自动启动该VBA程序模

块中的运行程序。

在Excel中,宏有以下两种制作方法:

•录制宏:通过录制的方法把在Excel中的操作过程以代码的方式记录并

保存下来,即宏的代码可以用录制的方法自动产生;

•编写宏:在VBE中直接手工输入操作过程的代码。

(1)录制宏:录制宏是用录制的方法形成自动执行的宏,除了直接录制外,也可

以用图形或按钮启动录制;

<2)执行宏:通过宏对话框执行宏、通过图形执行宏、通过窗体按钮执行宏、添

加菜单或工具栏命令执行宏;

(3)加载宏:加载宏来源主要有Excel自带的加载宏、其他来源提供的加载宏、

录制宏制作的加载宏。

2.ExcelVBA编辑环境

VBA是MicriosoftOfflce集成办公软件的内置编程语言,乂分为ExcelVBA语

言、WordVBA语言以及PowerPointVBA语言,是新一代标准宏语言。它是基于

VB开展起来的,VBA继承了VB很大一局部编程方法。VB中的语法结构、变量

声明以及函数的使用等内容,在VBA语言中同样可以正常使用。VB是面向对象

编程,ExcelVBA那么偏重于面向Excel对象,如工作簿、工作表以及单元格等,

即ExcelVBA是通过用代码编写的命令和过程来操作工作表或单元格等对象,进

而在Excel中完成自动化操作的设置。

Office提供了VBA开发界面,称为VBE窗口界面,在该窗口中用户可以先

实现应用程序的编写。VBE不能单独翻开,必须依附于它所支持的应用程序。通

过VBE编写的VBA代码,也保存丁VBA代码所效劳的Excel文件中。

3.ExcelVBA语法根底及代码结构

(1)注释、连写和断行

注释:可以通过两种方法实现,即使用Rem语句、用单引号(');

连写:在一行中写几个语句,用“:”来分开不同语句;

断行:一个语句分开写成儿行,用空白加下划线“,作为断行标记。

(2)变量和常量

变量用于临时保存数据。程序运行时,变量的值可以改变。变量在使用前,

最

好进行声明,也就是定义变量的数据类型,这样可以提高程序的可读性和节省存

储

空间。通常使用Dim语句来声明变量。声明语句可以放到过程中,该变量在过

程内

有效。声明语句假设放到模块顶部,那么变量在模块中有效。

变量用来存储动态唁息,静态信息可以用常量表示。耍声明常量并设置常量

的

值,需要使用Const语句。常量声明后,不能对它赋予新的值。

(3)运算符

♦算术运算符:+、-、*、/;

♦比拟运算符:<、<=、>、>=;

♦逻辑运算符:And、Or、Not;

♦连接运算符:&、+。

(4)常用语句

With语句:设置一个对乌的多个属性;

With对象

.属性1=属性值

.属性2:属性范

.属性N=属性值

EndWith

判断语句:

IF判断ThenIF判断1ThenSelectCase判断的对象

代码1代码1Case(Is)条件1

ElseElseif判断2Then代码1

代码2代码2Case(Is)条件2

EndIFElseif判断3Then代码2

代码3Case(Is)条件3

代码3

Else

代码NCaseElse

EndIF代码N

循环语句

For变量:初值To终值Step步长

语句

Next变量

发生错误语句转移

OnErrorGoTo指定的位置

忽略出错的语句

OnErrorResumeNext

(5)过程程序

过程程序根据是否有返回值分为子过程程序[不返PI值)和函数过程程序(可

以返回值)。子过程程序结构:

Sub过程名()

程序代码

EndSub

(6)事件程序

(Private)Sub对象名称一事件名称(自变量)

程序代码

EndSub

(7)对象、属性和方法

对象:Excel工作簿、工作表、单元格、图表、窗体、按钮等;

属性:对象固定的特征,设置对象属性结构为“对象.属性二属性值”;

方法:作用于对象上的操作,用方法操作对象语法为:”对象.方法自变量”。

三、实验内容及步骤

1.录制宏的实例应用

(1)自动完成报表累计

在图1-1所示的费用表中,要求设置以下3个按钮:

“累加”按钮:单击该按钮进行本月累计运算,并在F1单元格中显示“本

月数据已累加“。

“累加恢复”按钮:单击该按钮自动恢复累加前的数据,并在F1单元格

中

显示“已恢复到累加前数据”。

“清空本月数据”按钮:单击该按钮清空B列中的本月数据,并在F1单

元

格中显示“本月数据已去除二

①在工作表中通过“窗体”工具栏拖曳出一个按钮,然后再弹出的“指定宏”

对话框中单击“录制”按钮。

②在“录制新宏”对话框中,默认宏名,单击“确定”按钮。

③开始录制。选取B列中的本月数据进行复制,然后再选取C4单元格。单击

鼠标右键,“选择性粘贴”,运算方式为“加”。

④在F1单元格中输入“本月数据已累加”,再单击停止录制按钮。

⑤修改按钮显示名称。更改按钮名称为“累加”。

(2)自动完成高级筛选

要求根据如图1-2所示的“明细表”和图1-3所示的“筛选结果”表中A1:

C2

单元格区域的条件,把结果筛选到“筛选结果”表的A4:G4单元格区域。

步骤:

①在“筛选结果”表中利用“窗体”工具栏创立一个按钮,在“指定宏”对话

框中把宏名修改为“筛选”,然后录制。

②由丁在按钮编辑状态下,“筛选”命令不可用,所以首先要选取工作表中任意

一个单元格,然后执行“高级筛选”命令。

③高级筛选完成后,“停止录制”,完成录制过程。

④当修改条件区域的内容时单击按钮,便可以得到筛选的结果。

ABCDEFG

1公司名称部门姓名性别年龄工资级别实发工资

2A公司稍售部赵1男241级2150

3A公司销售部赵2女23攻2150

4A公司销售部赵3男563级2150

5A公司梢售部赵,女36,级2150

6A公司销售部赵5男455级2150

7A公司梢售部赵6女41魄2150

8B公司销售部孙1男36琬2520

9B公司梢售部孙2女373级2521

10B公司销售部孙3男38度2522

11B公司梢售部孙4女395级2523

12B公司销售部孙5男40般2524

13B公司梢售部孙6女41:级2525

14A公司财务部杨1男42S级2526

15B公司财务部杨2女43搬2527

16A公司财务部杨3男441噬2528

17B公司财务部杨,女4511级2529

18A公司财务部杨5男4612级2530

19B公司财务部杨6女4713级2531

20A公司财务部杨一男4814级2532

21B公司财务部杨S女4915级2533

2?

►M筛选结果1明细表hl_________山।

图1-2明细表

[一■一■,一|■■■一一・一・一■..............11M

公躺新酬

攵

凝衰,棚二

蛹端嫡㈱辎»

A嗣极攵23惊2150I

*M-

A航o起4攵36硼2160

A祠IB起6攵41碘2150

B祠IB就攵31徵2521

E颂攵39期2523

B祠檐部徜攵412S25

B嗣腕攵43吸2册

B桐榭楣攵45.2529

B祠树输攵41微2S31

B祠腕攵49微25331_

图1-3筛选结果

2.ExcelVBA编辑环境

在翻开Excel后,用Alt+Fll,或者单击VB编辑器按钮翻开VBE,VBE根本

结构如图1-4所示。完成如下练习:

(1)在新工作簿中添加模块1,然后移除并导出此空白模块至桌面,命名为

mkl.baso

步骤:插入一模块,或者通过录制宏来插入模块;模块1,移除模块,并保

存。

(2)在工作簿Book】中,先隐藏Sheetl,要求通过修改属性窗口的值,使得

通

过菜单命令中的“取消隐藏”命令无法取消Sheet)工作表的隐藏。

步骤:在工程窗口的Bookl工程中选取Sheet1对象,找到SheetI的Visible

属性,选取"2-xlSheelVeryHidden”项。

菜单栏

「工具

MicrosoftBasic-Bookl-[Sheet1(代码)]1□回区

图1-4VBE

3.ExcelVBA简单程序设计

(1)求和与计数

如图1-5所示,要求分别设置两个宏:运行一个宏,在C2单元格中填入

A

列非空单元格个数(对A列计数);运行另一个宏,在D2单元格中填入

A

图1-5对A列的计数与求和

步骤:

①在VBA工程中插入一个模块,模块1。

②在模块1中写入如下子过程。

Sub统计QD

IfN=1Then

Range("C2")=Application.WorksheetFunction.CountAGrange("A:A1*))

ElselfN=0Then

Range("D2")=Application.VorksheetFunction.Sum(Range("A:A"))

EndIf

EndSub

EndSub

Sub求和(j

统并0

EndSub

③执行宏计数、宏求和。

(2)多重判断例如

判断单元格A1的值,如果小于。,那么在B1中输入“小于零”;如果等

于0,

那么在B1中输入“等于零”;如果A1的值大于0,那么在B1中输入“大

于零”。

1史用工f…then・・・E1seif…国句:

Sub多重判断10

IfRangeCAD<0The

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论