菜鸟也懂VBA-excle2007VBA入门教程(4)
Excel 2007 VBA 教程
第三讲 VBA 语法基础
在学习VBA之前,我们要了解VBA里的对象,属性,方法,事件,就像我们在生活中一样,和一个人谈恋爱,是不是要相互了解对方,才能步入结婚的礼堂。下面来一一介绍它们 一、对象
1) 什么是对象呢?生活中的手机,电视机,桌子等等这些就是对象,而在我们的Excel里VBA 的对象是指
什么呢?这个可能抽象一点。工作簿,工作表,艺术字,图片这些就是Excel里的对象 2) 实例 A. Workbooks 代表工作簿集合,所有的工作簿,Workbooks(i),表示已打开的第i个工作簿 B. Workbooks (\汇总表\代表“汇总”工作簿 C. ActiveWorkbook 当前正在操作的工作簿 D. ThisWorkBook 代码所在的工作簿 E. Sheets(\汇总\代表“汇总”工作表 F. Sheet1表示第一个插入的工作表,Sheet2表示第二个插入的工作表....... G. Sheets(i) 表示按排列顺序,第i个工作表 H. ActiveSheet 表示当前活动工作表 I. Worksheet 也表示工作表,但不包括图表工作表、宏工作表等。 J. Cells 所有单元格 K. Range (\单元格地址\L. Cells(行数,列数) M. Activecell 当前选中的单元格 N. Selection 被选中的单元格或者单元格区域 二、属性
1) 属性是指对象的特点,对象固有的,如图片就有图片高度,图片的宽度,单元格就有单元格的底纹,单
元格字体的颜色,这些就是它们的的属性,打个比方,生活的一些东西,如“苹果”,苹果的形状,苹果的颜色,苹果的重量,这些就是苹果的属性。 2) 实例 A. 显示单元格A1相对引用的地址,而这个Address就是单元格Range的属性 Sub test()
MsgBox Range(\End Sub B. 代码解释 属性中间一定要用点号分开,可能有的学生会问,怎么才有能知道它有那些属性呢?打个
比方,我现在想知道工作表有那些属性,我们可以先输入Sheet1再加一下点号,就会自动弹出其相应的属性列表出来,就像我们的Excel2007版的函数一样,你输入一个字母,就会弹出以这个字母开头所有函数出来,这样大家也就不用去记这些属性具体这个英文单词怎么写,只要大概了解知道有个这样的属性就可以了
三、方法
1) 方法是作用对象的一些动作,工作表删除,工作表移动,单元格复制,这些删除,移动,复制就是相应
对象的方法。打个比方,苹果被削了,削就是苹果的方法。 2) 实例 A. 在第一个工作表前面插入一个工作表 Sub test()
Sheets.Add before:=Sheets(1) End Sub B. 代码解释 Sheets是指工作表类,也就是工作表对象,中间用一个点分开,Add就是方法了,然后再
输入一个空格,before是对Add方法的一个补充说明,格式一定要这样,输入了Before之后,再
第 8 页 共 52 页
Excel 2007 VBA 教程
输入一个冒号,接着输入一个等号,整个代码的意思,在第一个工作表前插入一个新的工作表。
四、事件
1) 事件在Excel VBA里是指一定条件下,触发过程,如双击左键,右击,改变单元格内容,选择不同的单
元格就会触发一个过程就叫做事件,事件一般都是写在相应的工作表模块里 2) 实例 A. 双击就会弹出一个问候对话框
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) MsgBox \你好\End Sub B. 代码解释:双击左键就会弹出一个问候对话框,Private Sub Worksheet_BeforeDoubleClick(ByVal
Target As Range, Cancel As Boolean这个是自动生成的,你到工作表模块里,如双击Sheet1模块,通用列框里选择Worksheet,声明列表里选择BeforeDoubleClik,Msgbox是显示对话框函数。
五、变量
1) 什么是变量 变量是指在代码运行过程中其值能够发生变化的量,举个例子,Y=2*X,这是一个方程 ,
当X=1时,Y=2,当X=2时,Y=4,当X=3时,Y=6, 这个X就是一个变量 2) 变量中不能使用的一些符号 # * % !,用的最多的是 _
3) 变量不区分大小写,也可以使用中文,但实际应用中很少用,我们用英文表示变量名一般也会采取一些
特点,如文本型的变量用Str ,这样让人一看就这个变量表示文本型数据类型String 4) 为什么要声明变量 A. 如果数据量不大,在Excel里VBA不声明变量也没有影响的,但是,如果数据量很大时,不声明,
程序的运行速度就会慢许多。 B. 打个比方,你打了一个电话给公交车公司你要租一辆车,但是你没有说你要租一辆多少人坐的车,
那么出租车公司就会给你一坐100个人的车,而实际人你才要一个30人坐的车。大车的费用肯定比小车的费用贵,这样你不划算啊,变量也是这样,你不声明,它就给存储空间最大的个数据类型给你那不声明的变量。 C. 再打个比方:小明的妈叫小明去菜市场去一斤打酱油,小明从家里拿了一个麻袋去,小明妈妈拉住
小明了,说麻袋不能装酱油,会漏掉,于是小明提了了一个大水缺,在路上,小明摔了一跤,酱油也没有了,水缺也破了,小明真是陪了夫人又折兵,后来他妈妈告诉小明,下次你去打酱油就拿一个装一斤矿泉水瓶子去就可以了。呵呵,相信听了这个故事肯定笑了。也明白了为什么要声明定义变量。
5) 变量声明方式 A. 格式一 Dim 变量名 as 数据类型
Dim i as Integer B. 格式二 dim 变量名 as 数据类型,变量名 as 数据类型 记得用用逗号分开
Dim I as Integer,Rg as Range,Str as String
6) 强制声明 A. 变明使用前声明是一个好习惯,但我们会忘记,怎么办呢 B. 方法一 Alt+F11——>>工具菜单——>>选项——>>编辑器选项卡中——>>钩起“要求变量声明”复
选框 如图 12
图 12
第 9 页 共 52 页
Excel 2007 VBA 教程
C. 方法二 在代码模块顶端输入 Option Explicit 7) 声明变量的一种简写形式 A. 我们经常会看这样的一种定义变量的格式 Dim I% ,大家会问,这个是什么意思呢?,把变量I数
据类型定义为整型。常见的有整型Integer用% 长整型Long用& 字符串String用$ 单精度浮点型Single用! 双精度浮点型Double用#
8) 变量的作用域
变量的生命周期,也就是变量什么时候销毁,释放内存,因为变量只是暂时的存在内存中的,根据这样把变量分为 过程级变量,模块级变量,全局性变量,静态变量 A. 过程变量:定义变量是写在过程中的,其作用是在过程运行中,当过程结束变量也就销毁了。
1. 实例 Sub test()
Dim i As String i = \佛山小老鼠\ MsgBox i End Sub B. 模块级变量:定义变量写在模块的顶端,在此模块中可以调用此变量,其值还是存在,别的模块就
不行了 1. 实例
Dim Str As String Sub test1()
Str = \小老鼠\ MsgBox Str
Str = \佛山\End Sub Sub test2() MsgBox Str Str = \End Sub
代码解释 先运行Test1,然后运行Test2,大家可以看到对话框显示“佛山小老鼠”,也就是说运行过程Test2时,把过程Test1里的小老鼠也继承下来了。 C. 全局性变量 也是定义变量写在模块的顶端,不过就不是用Dim来定义了,要用Public,这个变量
就在所有的模块都可以调用,也就是这个变量值一直存在,直到把Excel程序关闭,变量值才会销毁。
1. 实例
先插入两个模块,在模块1中输入以下代码 Public Str As String Sub test1()
Str = \佛山小 …… 此处隐藏:2138字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [基础教育]2016-2022年中国钢芯铝绞线市场现状调
- [基础教育]语文部编版初一语文下册练习题 句式变
- [基础教育]南京继续教育参考答案--深入学习贯彻习
- [基础教育]国旗下讲话稿——珍惜时间好读书
- [基础教育]北师大版六年级数学下册圆锥的体积教学
- [基础教育]人教版-音乐-四年级下册-四年级下册音
- [基础教育]乔布斯2019年斯坦福大学毕业典礼致辞.d
- [基础教育]2015年加油站安全知识竞赛试题及答案
- [基础教育]2020年教师年度考核个人工作总结
- [基础教育]2019年中考历史试题-2019年大庆市初中
- [基础教育]初三仁爱英语第一轮总复习教案
- [基础教育]SG-A094电气配管安装工程隐蔽验收记录
- [基础教育]冀教版小学数学三年级下册第六单元教材
- [基础教育]青岛版(五制)小学科学二年级下册16《制
- [基础教育]2018-2019年初中科学初一中考真卷测试
- [基础教育]幼儿园大班期末简短评语精选
- [基础教育]2018云南临沧公务员考试申论技巧:这样
- [基础教育]学校食堂经营管理方案
- [基础教育]新中国砥砺奋进的七十年原文
- [基础教育]真空泵的选型及常用计算公式
- 高职田径课程教学现状与对策
- 全髋关节置换术在老年股骨颈骨折患者中
- 青人社厅函〔2016〕576号(附件)工资
- cp101-07砂子检验作业指导书 - secret
- 微观经济学 第八章 博弈论 习题
- 2014高考真题(词语运用)汇编及答案
- 2018年人教版七年级语文下册《第三单元
- 苏教版数学四年级上册第一单元试题 - M
- 四川大学新闻与传播考研2000-2010年真
- 浙江万里学院英语专业四年制本科教学计
- 最新2018马年事业祝福语-范文word版(2
- 最全模具行业术语英文翻译
- 皮亚杰的发展心理学理论
- 64篇高考情景式默写 练习题及答案
- 仿写(学生稿)
- 《SQL Server数据库技术》试卷A
- 第七章作业答案
- 江苏省赣榆县海头高级中学高中语文必修
- 浙江省2001年10月自考正常人体解剖学答
- 2012英语重点短语




