资源预览内容
第1页 / 共56页
第2页 / 共56页
第3页 / 共56页
第4页 / 共56页
第5页 / 共56页
第6页 / 共56页
第7页 / 共56页
第8页 / 共56页
第9页 / 共56页
第10页 / 共56页
亲,该文档总共56页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
此文来自EXCLE论坛,仅供学习交流使用前言1 为什么要学VBA?随着你的Excel水平不断的提高,以前你不会函数,现在会函数了,相信大家尝试到函数的甜头,可以批量操作一些数据,如,从文本里提取数字,按条件求和,自动生成工资条,考勤表,查询表,输入一个人的身份证号码,会自动填好“出生地”,“出生年月日”,“年龄”,“性别”等等,一谈起函数大家都会“不亦乐乎”。“津津乐道”,“和函数相见恨晚”,说实在话,我当时也是一种这样的心态,我学会的第一个函数if,当时高兴地睡不着觉。因为它可以判断“不及格,及格,良好,优秀”,感觉到这个函数太神奇了。对工作太有用了,于是我下定决心一定要把函数学好,当然中间也产生过“放弃”的念头。为什么呢?因为每一个函数的参数都是长长的,不认识的英文单词,然后又有一些朋友叫我查看Excel自带的“帮助”文件。极少一部分看“帮助”文件还是可以看懂的,大多数根本看“帮助”文件看不懂,发现自带的“帮助”是便于有一定基础的使用者查找和学习某个知识点,而对于新手来说,也像“侠客行”里的“石破天”看不懂石壁上的蝌蚪文,不能明白其意思。呵呵,一扯又扯远了,还是回到主题上来。当我们的函数学到了一定的水平时,可是,还是发现有一些问题不能解决。如果要解决用的函数特别复杂且很公式很长,有的根本用函数不能解决了。如一个单元格又有文字,又有数字,且数字出现的位置没有规律,且不只一次出现。要求把数字提取出来。又如提取工作薄里的各工作表名来制作目录。当然我们可以用函数实现,但是特别麻烦。又如,把多作工作簿汇总到一个工作簿里一个工作表时,方便我们汇总,现有的Excel功能无法批量操作,只能一个一个的,通过复制粘贴来完成。如果我们会VBA ,你又到了Ecel里的另一个天地了。开个玩笑,Excel VBA,就像“九阴真经”里的第九层,也就是说,你会了Excel的VBA,那么你就可以随心所欲驾驭Excel表格,别人要三天才能完成的报表,你只要半天,甚至更短的时间,这样大大可以提高你的工作效率,上班时,别人上班时忙来忙去,你倒是很轻松。2 VBA的作用(提高工作效率)2.1 完成Excel现有功能不能实现的功能 2.2 使重复的工作不再重复2.3 自定义函数(方便不会用函数的朋友)2.4 实现“人机对话”(通过弹出一些窗体和对话框)2.5 自定义Excel选项卡(制作出适合自己的工作界面选项卡和功能)2.6 开发一些小程序(如“进销存”和一些小工具)3 学VBA的基础3.1 要有一点函数基础,和会Excel基础操作。建议学完办公高级班的学生和在职办公人员学习VBA3.2 学VBA需要很好的英文基础吗?答案是否定,学习Excel里的VBA和英文基础没有什么必然联系,因为Excel里的VBA那些关键字什么的都是最基础的英语单词,只要你上过初中,大部分还都能认识,再者他们还都是固定的,你就是不认识,硬记下来也足够了,Excel里的VBA又不是让你用英语写文章,也不是让你通读英语文章!目录第一讲VBA介绍和VBE编辑环境1第二讲 录制宏 指定宏 运行宏 修改宏 保存宏 加载宏5第三讲 VBA 语法基础8第四讲 单元格对象12第五讲 VBA语句15第六讲 代码调试和错误处理20第七讲 工作表对象23第八讲 工作簿对象26第九讲 事件27第十讲 窗体与控件29第十一讲 窗体与控件实例开发隐藏工作表工具33第十二讲自定义函数36第十三讲 VBA数组基础(一)38第十四讲 VBA数组实例应用(二)42第十五讲 字典基础知识(一)45第十六讲 字典实例应用(二)48第十七讲 自定义右键菜单50第十八讲 自定义选项卡51Excel 2007 VBA 教程第一讲VBA介绍和VBE编辑环境为什么要学VBA?1 提高工作效率,在我们Excel办公中,许多工作是重复的,我们可以通过录制宏把那些动作录制下来。下一次做时就不要重复做了,只要点一下一个按钮,就帮我们完成了。2 现有功能很难实现或者实现要分许多步骤且比较复杂,方便一些新手操作和普通用户操作。3 实现一些适合自己工作的一些特殊功能,因为每一个人,每一个行业存在的不同需求,而微软公司不能面面俱到,有时要通过我们自己用VBA来实现。4 可以定制个性化的选项卡和命令,实现方便自己工作的操作的窗口界面5 开发一些小程序VBA介绍6 VBA是VB的一个分支,是一门简单易用的编程语言,说的通俗一点就是由一些代码和语句按照一定的逻辑组成,能实现一些功能和作用的代码VBE窗口介绍7 VBA窗口7.1.1 用快捷键(Alt+F11),打开就可以看到( 1)的界面,这个就是VBE窗口界面,和2003版本的没有变化,还是一样的。 17.2 1的上面是菜单栏和工具栏,和平常的2003版本的Excel菜单栏和有工具栏一样, 7.3 1的左边是“工程资源管理器”和属性窗口7.4 1的右下边是“立即窗口”7.5 立即窗口的作用,便于快速验证VBA语句,在立即窗口中输入msgbox 我在学习VBA 然后按一下回车键,就会弹出一个提示框。7.5.1 用双击“工程资源管理器”里的Sheet1(Sheet1),就可以看到如( 2)所示的就可以看到对象列标表和过程列标框,白的区域那一块就是我们要写代码的区域。 28 添加模块,窗体,类模块(打开VBE窗口是没有这个三个模块的,只有对象模块)8.1 插入菜单,模块(有的也叫做标准模块)8.2 插入菜单,类模块8.3 插入菜单,窗体9 删除模块,窗体,类模块9.1 如果想不要模块,窗体,类模块,把光标对准相应的模块右击,移除模块。10 对象浏览器窗口,视菜单,对象浏览器(也可以按快捷F2)可以帮我们找到对象的属性,方法,事件的一些用法。11 设置VBE的编辑环境,为了便于自己编写和查看,调试代码,要对VBE编辑窗口一些设置进钩选,选择适合自己的的选项。如( 3) 311.1 字号大小:工具菜单选项编辑器格式大小(S)如( 4),一般我们设置为11磅 411.2 自动弹出成员列表:自动弹出成员列这个功能对于初学者和老用户来说都是非常有用,因为我们刚学的时候,特别是英文基础差一点的学生来说,可以给大家很大的帮助。举个例子,工具菜单,选项,编辑器,钩起“自动列出成员(L)”,然后在任何代码窗口中输入“Sheets加上一个点号”,就会弹出如( 5)所以的成员列表,绿标的是方法,有一个手形的标是属性 511.3 要求声明变量:举个例子,工具菜单选项编辑器钩起“要求变量声明(R)”,然后新建一个标准模块,就会在新建标准模块的最顶端会自动添加Option Explicit然后在标准模块里输入,按F5执行代码,就会弹出( 6)这样的提醒,如果我们把Option Explicit这一句删除,再按F5执行代码就不会弹出( 6)这样的提醒Sub test() Set MyRg = Range(A1) MsgBox MyRgEnd Sub 611.4 自动显示数据提示:举个例子,工具菜单,选项,编辑器,钩起“自动显示数据提示(S)”,然后新建一个标准模块,输入以下代码Sub test() Set MyRg = Range(A1) MsgBox MyRg Set MyRg = NothingEnd Sub主要是便于代码逐步或者设置断点调试,想知道变量的值时,这时把光标移到变量上,就会弹出一个提示如( 7)所示 712 运行过程,中断,重新设置,在工具栏上用方框框起来的三个按钮分别表为“运行子过程/用户窗体”;“中断”;“重新设置”。如( 8) 812.1 运行过程分为全过程运行(快捷键F5)和逐步运行(快捷F8)12.2 重新设置,当逐步运行时,想取消逐步运行,按一下“重新设置”这个按钮。13 中断:相当于按了一下Esc,当一个过程运行进入了死循环,这时可以按一下Esc第二讲 录制宏 指定宏 运行宏 修改宏 保存宏 加载宏一、 录制宏1、 显示“开发工具”选项卡方法:Office按钮Excel选项常用在功能区显示“开发工具”选项卡2、 录制在A1单元格输入“培训”这样一个宏3、 录制方法 “开发工具”选项卡代码组录制宏弹出一个“录制新宏”对话框输入宏名为“输入” 确定 选中A1单元格 输入“培训”单击一下编辑栏的钩停止录制二、 查看宏1、 方法一 在上一节课我们已知知道了,相信大家没有忘记那个快捷键,如果忘记了,我就晕了。Alt+F11,双击模块1便可以看到刚才录制的代码2、 方法二 “开发工具”选项卡代码组单击一下Visual Basic按钮双击模块1看到以下代码Sub 输入() 输入 Macro Range(A1).Select ActiveCell.FormulaR1C1 = 培训End Sub三、 指定宏1、 方法一 “开发工具”选项卡控件组插入表单控件单击一下“按钮”按住左键不放,在工作表里拖拉一下画完后,弹出一个对话框,指定宏选中“输入”确定2、 其它方法 也可以把宏指定给其它对象,如“自选形”里的圆,艺术字A、 打开比方,指定给艺术字的方法 把光标定位到你要指定的艺术字右击指定宏弹出“指定宏”对话框选中“输入”确定3、 修改“按钮”的名字 方法 把光标定位到按钮上右击编辑文字修改为“输入”四、 运行宏1、 方法一 我们先删除A1单元格里的内容单击一下“输入”按钮2、 方法二 “开发工具”选项卡代码组单击一下“宏”按钮选中“输入”单击一下“执行”3、 其它方法 我们在上一节课讲过,在VBE编辑器里,把光标定位到你“输入”的宏过程任何一行代码里,运行F5,逐步运行F8五、 修改宏1、 选中A1:D9单元格区域,录制一个给它添加边框的宏,录制的代码如下Sub 添加边框() 添加边框 Macro Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .ColorIndex = xlAutomatic .TintAndShade = 0 .Weight = xlThin End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .ColorIndex = xlAutomatic
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号