对于大部分没有编程基础的职场人士来说,在学习VBA时往往会有很大的畏难情绪。本书正是针对这样的人群,用浅显易懂的语言和生动形象的比喻,并配合大量插画,对Excel中看似复杂的概念和代码,从简单的宏录制、VBA编程环境和基础语法的介绍,到常用对象的操作与控制、执行程序的自动开关—对象的事件、设计自定义的操作界面、调试与优化编写的代码,都进行了形象的介绍。 《别怕,Excel VBA其实很简单(第2版)》适合那些希望提高工作效率的职场人士,特别是经常需要处理和分析大量数据的用户,也适合财经专业的高校师生阅读。
Kevin 英文名、网名都是Kevin,圈内人惯称K总(不是总经理的那个总,而是总版主的那个总)。曾经是追求办公效率的会计一枚(好吧,我承认其实我就是喜欢偷懒),为此拼命折腾Office,特别是Excel。为了能和志同道合的人一起折腾Excel,1999年心血来潮创办了ExcelHome,没想到一搞就到了今天。不安分的小会计后来索性转战IT圈,鼓捣并多次实施信息化系统。这些年出过一些书,分享过一些网络视频教程,也经常到企业里鼓吹自己的偷懒经验和定制解决方案,还因此被微软年年评为编外工作者——哦,错了,应该叫微软全球最有价值专家。未来计划继续说教之路,让更多人走上高效办公之路。罗国发 网名ggsmart,叶枫。毕业就开始当老师,十余年的教学经历让我成长为一名经验丰富的教学能手(自封的)。生活中闲时也没什么爱好,就爱上上网,逛逛论坛,翻翻网页,偶尔勾搭一下妹子(尽管从来没有勾搭成功)。但我更爱的还是Excel,我爱研究学习Excel的方法,也爱分享Excel的技巧和教程。但我不是什么大侠,也不想做什么专家。我和你一样,只是一位表哥,我只想用我的经验告诉你:要学好Excel,其实很简单。
目录
第1章 Excel VBA,没你想的那么难
1.1 Excel 中那些重复又重复的操作
1.1.1 你这样用Excel,我要吐槽
1.1.2 重复操作,Excel 中随处可见
1.1.3 重复的操作,就像重复的声音
1.1.4 Excel 中也有类似的“录音设备”
1.2 Excel 中的重复操作可以被录制下来
1.2.1 Excel 中的“录音设备”
1.2.2 用宏录制器录制下在Excel 中的操作
1.2.3 让录制下的操作再现一遍
1.3 录制下的操作,还能这样重现它
1.3.1 追求执行速度,就用快捷键
1.3.2 希望直观形象,可以用按钮
1.4 录制好的宏,为什么不能执行了
1.4.1 宏不能执行,是出于安全考虑
1.4.2 修改宏安全性,让Excel 允许执行所有宏
1.5 Excel 用什么记录录下的操作 /17
1.5.1 宏就是一串串可以控制和操作Excel 的代码
1.5.2 学习VBA,就是学习编写能控制和操作Excel 的代码
1.6 VBA,就是我们和Excel 沟通的语言
1.6.1 要使用Excel,需要知道怎样和它“沟通”
1.6.2 VBA,只是一种计算机编程语言的名字
1.7 Excel 已能录制代码,何需再动手编写
1.7.1 录制的宏,不能解决所有问题
1.7.2 只需简单修改,便能让宏的威力大增
1.7.3 自主编写代码,让宏的功能更加灵活
第2章认识编程工具,开始学习VBA 的及时步
2.1 应该在哪里编写VBA 程序
2.2 了解VBA 的编程工具—VBE
2.2.1 可以用哪些方法打开VBE 窗口
2.2.2 VBE 窗口中都有什么
2.3 怎样在VBE 中编写VBA 程序
2.3.1 VBA 程序就是完成一个任务所需的一组VBA 代码
2.3.2 看看VBA 程序都长什么样
2.3.3 动手编写一个VBA 程序
第3章学习语法,了解VBA 编程应遵循的规则
3.1 语法,就是语言表达时应遵循的规则
3.1.1 不懂语法,表达就会出错
3.1.2 作为一门编程语言,VBA 也有语法
3.1.3 别担心,VBA 语法并不复杂
3.2 VBA 中的数据及数据类型
3.2.1 在Excel 中,数据就是保存在单元格中的信息
3.2.2 数据类型,就是对同一类数据的统称
3.2.3 VBA 将数据分为哪些类型
3.2.4 为什么要对数据进行分类
3.3 VBA 中存储数据的容器:变量和常量
3.3.1 程序中的数据保存在哪里
3.3.2 变量,就是给数据预留的内存空间
3.3.3 常量,通常用于存储某些固定的数据
3.4 在程序中使用变量存储数据
3.4.1 声明变量,就是指定变量的名称及可存储的数据类型
3.4.2 还能用这些语句声明变量
3.4.3 给变量赋值,就是把数据存储到变量中
3.4.4 让变量中存储的数据参与程序计算
3.4.5 关于声明变量,还应掌握这些知识
3.4.6 不同的变量,作用域也可能不相同
3.4.7 定义不同作用域的变量
3.5 特殊的变量—数组
3.5.1 数组,就是同种类型的多个变量的集合
3.5.2 怎么表示数组中的某个元素
3.5.3 声明数组时应声明数组的大小
3.5.4 给数组赋值就是给数组的每个元素分别赋值
3.5.5 数组的维数
3.5.6 声明多维数组
3.5.7 声明动态数组
3.5.8 这种创建数组的方法更简单
3.5.9 关于数组,这些运算应该掌握
3.5.10 将数组中保存的数据写入单元格区域
3.6 特殊数据的专用容器—常量
3.6.1 常量就像一次性的纸杯
3.6.2 声明常量时应同时给常量赋值
3.6.3 常量也有不同的作用域
3.7 对象、集合及对象的属性和方法
3.7.1 对象就是用代码操作和控制的东西
3.7.2 对象的层次结构
3.7.3 集合就是多个同种类型的对象
3.7.4 怎样表示集合中的某个对象
3.7.5 属性就是对象包含的内容或具有的特征
3.7.6 对象和属性是相对而言的
3.7.7 方法就是在对象上执行的某个动作或操作
3.8 连接数据的桥梁,VBA 中的运算符
3.8.1 算术运算符
3.8.2 比较运算符
3.8.3 文本运算符
3.8.4 逻辑运算符
3.8.5 多种运算中应该先计算谁
3.9 VBA 中的内置函数
3.9.1 函数就是预先定义好的计算
3.9.2 VBA 中有哪些函数
3.10 控制程序执行的基本语句结构
3.10.1 生活中无处不在的选择
3.10.2 用If 语句解决VBA 中的选择问题
3.10.3 使用Select Case 语句解决“多选一”的问题
3.10.4 用For...Next 语句循环执行同一段代码
3.10.5 用For Each...Next 语句循环处理集合或数组中的成员
3.10.6 用Do 语句按条件控制循环
3.10.7 使用GoTo 语句,让程序转到另一条语句去执行
3.10.8 With 语句,简写代码离不开它
3.11 Sub 过程,基本的程序单元
3.11.1 VBA 过程就是完成一个任务所需代码的组合
3.11.2 Sub 过程的基本结构
3.11.3 应该把Sub 过程写在哪里
3.11.4 Sub 过程的基本结构
3.11.5 过程的作用域
3.11.6 在过程中执行另一个过程
3.11.7 向过程传递参数 /125
3.12 自定义函数,Function 过程
3.12.1 Function 过程就是用VBA 自定义的函数
3.12.2 试写一个自定义函数
3.12.3 使用自定义函数完成设定的计算
3.12.4 用自定义函数统计指定颜色的单元格个数
3.12.5 声明Function 过程的语句结构
3.13 排版和注释,让编写的代码阅读性更强
3.13.1 代码排版,必不可少的习惯
3.13.2 为特殊语句添加注释,让代码的意图清晰明了
第4章操作对象,解决工作中的实际问题
4.1 与Excel 交流,需要熟悉的常用对象
4.1.1 用VBA 编程就像在厨房里烧菜
4.1.2 VBA 通过操作不同的对象来控制Excel
4.1.3 使用VBA 编程,应该记住哪些对象
4.2 一切从我开始,最顶层的Application 对象
4.2.1 用ScreenUpdating 属性设置是否更新屏幕上的内容
4.2.2 设置DisplayAlerts 属性禁止显示警告对话框
4.2.3 借助WorksheetFunction 属性使用工作表函数
4.2.4 设置属性,更改Excel 的工作界面
4.2.5 Application 对象的子对象
4.3 管理工作簿,了解Workbook 对象
4.3.1 Workbook 对象是Workbooks 集合中的一个成员
4.3.2 访问对象的属性,获得工作簿文件的信息
4.3.3 用Add 方法创建工作簿
4.3.4 用Open 方法打开工作簿
4.3.5 用Activate 方法激活工作簿
4.3.6 保存工作簿文件
4.3.7 用Close 方法关闭工作簿
4.3.8 ThisWorkbook 与ActiveWorkbook
4.4 操作工作表,认识Worksheet 对象
4.4.1 引用工作表的3 种方法
4.4.2 用Add 方法新建工作表
4.4.3 设置Name 属性,更改工作表的标签名称
4.4.4 用Delete 方法删除工作表
4.4.5 激活工作表的两种方法
4.4.6 用Copy 方法复制工作表
4.4.7 用Move 方法移动工作表
4.4.8 设置Visible 属性,隐藏或显示工作表
4.4.9 访问Count 属性,获得工作簿中的工作表数量
4.4.10 容易混淆的Sheets 与Worksheets 对象
4.5 操作的核心,至关重要的Range 对象
4.5.1 用Range 属性引用单元格
4.5.2 用Cells 属性引用单元格
4.5.3 引用单元格,更简短的快捷方式
4.5.4 引用整行单元格
4.5.5 引用整列单元格
4.5.6 用Union 方法合并多个单元格区域
4.5.7 Range 对象的Offset 属性
4.5.8 Range 对象的Resize 属性
4.5.9 Worksheet 对象的UsedRange 属性
4.5.10 Range 对象的CurrentRegion 属性
4.5.11 Range 对象的End 属性
4.5.12 单元格中的内容:Value 属性
4.5.13 访问Count 属性,获得区域中包含的单元格个数
4.5.14 通过Address 属性获得单元格的地址
4.5.15 用Activate 与Select 方法选中单元格
4.5.16 选择清除单元格中的信息
4.5.17 用Copy 方法复制单元格区域
4.5.18 用Cut 方法剪切单元格
4.5.19 用Delete 方法删除指定的单元格
4.6 结合例子,学习怎样操作对象
4.6.1 根据需求创建工作簿
4.6.2 判断某个工作簿是否已经打开
4.6.3 判断文件夹中是否存在指定名称的工作簿文件
4.6.4 向未打开的工作簿中输入数据
4.6.5 隐藏活动工作表外的所有工作表
4.6.6 批量新建指定名称的工作表
4.6.7 批量对数据分类,并保存到不同的工作表中
4.6.8 将多张工作表中的数据合并到一张工作表中
4.6.9 将工作簿中的每张工作表都保存为单独的工作簿文件
4.6.10 将多个工作簿中的数据合并到同一张工作表中
4.6.11 为同一工作簿中的工作表建一个带链接的目录
第5章执行程序的自动开关—对象的事件
5.1 用事件替程序安装一个自动执行的开关
5.1.1 事件就是能被对象识别的某个操作
5.1.2 事件是怎样执行程序的
5.1.3 让Excel 自动响应我们的操作
5.1.4 能自动运行的Sub 过程—事件过程
5.1.5 利用事件,让Excel 在单元格中写入当前系统时间
5.2 使用工作表事件
5.2.1 工作表事件就是发生在Worksheet 对象中的事件
5.2.2 Worksheet 对象的Change 事件
5.2.3 禁用事件,让事件过程不再自动执行
5.2.4 一举多得,巧用Change 事件快速录入数据
5.2.5 SelectionChange 事件:当选中的单元格改变时发生
5.2.6 看看我该监考哪一场
5.2.7 用批注记录单元格中数据的修改情况
5.2.8 常用的Worksheet 事件
5.3 使用工作簿事件
5.3.1 工作簿事件就是发生在Workbook 对象中的事件
5.3.2 Open 事件:当打开工作簿的时候发生
5.3.3 BeforeClose 事件:在关闭工作簿之前发生
5.3.4 SheetChange 事件: 更改任意工作表中的单元格时发生
5.3.5 常用的Workbook 事件
5.4 不是事件的事件
5.4.1 Application 对象的OnKey 方法
5.4.2 Application 对象的OnTime 方法
5.4.3 让文件每隔5 分钟自动保存一次
第6章设计自定义的操作界面
6.1 需要用什么来设计操作界面
6.1.1 为什么要替程序设计操作界面
6.1.2 控件,搭建操作界面必不可少的零件
6.1.3 在工作表中使用表单控件
6.1.4 在工作表中使用ActiveX 控件
6.1.5 表单控件和ActiveX 控件的区别
6.2 不需设置,使用现成的对话框
6.2.1 用InputBox 函数创建一个可输入数据的对话框
6.2.2 用InputBox 方法创建交互对话框
6.2.3 用MsgBox 函数创建输出对话框
6.2.4 用FindFile 方法显示[打开]对话框
6.2.5 用GetOpenFilename 方法显示[打开]对话框
6.2.6 用GetSaveAsFilename 方法显示[另存为]对话框
6.2.7 用Application 对象的FileDialog 属性获取目录名称
6.3 使用窗体对象设计交互界面
6.3.1 设计界面,需要用到UserForm 对象
6.3.2 在工程中添加一个用户窗体
6.3.3 设置属性,改变窗体的外观
6.3.4 在窗体上添加和设置控件的功能
6.4 用代码操作自己设计的窗体
6.4.1 显示用户窗体
6.4.2 设置窗体的显示位置
6.4.3 将窗体显示为无模式窗体
6.4.4 关闭或隐藏已显示的窗体
6.5 用户窗体的事件应用
6.5.1 借助Initialize 事件初始化窗体
6.5.2 借助QueryClose 事件让窗体自带的[关闭]按钮失效
6.5.3 窗体对象的其他事件
6.6 编写代码,为窗体中的控件设置功能
6.6.1 为[确定]按钮添加事件过程
6.6.2 使用窗体录入数据
6.6.3 给[退出]按钮添加事件过程
6.6.4 给控件设置快捷键
6.6.5 更改控件的Tab 键顺序
6.7 用窗体制作一个简易的登录窗体
6.7.1 设计登录窗体的界面
6.7.2 设置初始用户名和密码
6.7.3 添加代码,为控件指定功能
第7章调试与优化编写的代码
7.1 VBA 中可能会发生的错误
7.1.1 编译错误
7.1.2 运行时错误
7.1.3 逻辑错误
7.2 VBA 程序的3 种状态
7.2.1 设计模式
7.2.2 运行模式
7.2.3 中断模式
7.3 Excel 已经准备好的调试工具
7.3.1 让程序进入中断模式
7.3.2 设置断点,让程序暂停执行
7.3.3 使用Stop 语句让程序暂停执行
7.3.4 在[立即窗口]中查看变量值的变化情况
7.3.5 在[本地窗口]中查看变量的值及类型
7.3.6 使用[监视窗口]监视程序中的变量
7.4 处理运行时错误,可能会用到这些语句
7.4.1 On Error GoTo 标签
7.4.2 On Error Resume Next
7.4.3 On Error GoTo 0
7.5 养成好习惯,让代码跑得更快一些
7.5.1 在程序中合理使用变量
7.5.2 不要用长代码多次重复引用相同的对象
7.5.3 尽量使用函数完成计算
7.5.4 不要让代码执行多余的操作
7.5.5 合理使用数组
7.5.6 如果不需要和程序互动,就关闭屏幕更新
这本也是不错的哟,很了学,excel实用的一b
一直关注excelhome,对提升excel技能很有帮助。
excelhome出品,必属精品。写的通俗易懂
不错比较基础,适合初学者看,一般做报表看这个就够了
学习VBA非常好的一本书,非常适合零基础的人学习,对于之前学过一些的人,也能够起到温故而知新的效果,逻辑性和条理性很强,而且通篇才用通俗易懂,形象生动的比喻帮助更好的理解,强烈推荐!
当当能不能发货的时候多拿个袋子装一下 收到货后基本裸露在外面了 还好书没什么破坏
正赶上当当活动,把之前购物车的书基本都清理了,基本都没有开封,书的质量应该没问题,一直在当当买书。
不错,当手册看了。没全部看完,小程序就编写好了。
书内很多图片及卡通,可读性很强,蓝黑白三色印刷,整体感觉很好。内容还没看,反正不薄,应该可以。
书不是很厚,感觉一开始学不会压力很大,希望内容充实易懂吧~
确实非常实用,尤其是适用于初学者用来入门的书籍。
趁打折,入手一套,希望自己能看完,第一次入手此类图书。
很好,本来想在其他网站买的,可是这本不参加活动,后来发现当当比较便宜,就在这里买了
一直想学习一下Excel vba的知识,终于找到了一本合适的书来学。
VBA比较难,学会了处理数据就像长了双翅膀。
很不错。工作需要。看着也易懂……Excel home还是给力!
非常实用,案例教学法,嗯,,,可以直接当字典用的感觉,需要的时候来翻翻,提高效率就是珍爱生命。。。。。。。。。。。
大致浏览了一下,内容介绍的很详细,如果能加多点实例就好了!
不错,能学下去,特别适合入门,每节后面的练习题很好,附上公众号的答案简直绝配。
vba经典版学习教程,系统的学习一下,值得拥有。
并没有很简单,还是需要有一些基础的,像我这种小白还是挺吃力的,而且没多少时间最近学这个
读过几本VBA入门的书了,这是最好的一本。非常喜欢!
东西不错,大致浏览了一下内容,适合初学者;就看后期的学习能不能坚持下去了……
语言生动,简单易懂。有其它语言基础的,完全可以速读。
初尝了VBA带来的效率上的巨大提升,准备由浅入深,好好学学,这是第一本,下一本是VBA实战。包装好,书无磨损折痕,看上去全新。
一直想学习Excel的编程语言,做一些基本的算法处理。现在看看觉得还可以学下去。谢谢此书编者了啊!
学习VBA的好工具书,当当发货真是快,头天买第二天就到
平时要处理大量的数据,觉得有必要买一本基础的入门级书,这本感觉不错,翻了几页,插图很多,应该对理解有很大的帮助。
现为小白一枚,正努力学习中,彩色,虽有代码,但还是让人愿意看下去
EXCEL VBA是EXCEL编程的入门专业书籍,书中内容讲得面面俱到,每一个环节都描述得很好,很详细,不错的书,入门者超值拥有,包装不错,印刷质量很好。
名著出于高手,跟着EXCLHOME学excel从基础的应用大全,数据透视表,函数,到今天的VBA感觉每本书都是那么的经典,翻了一下认为此版仍然很好
这本书我觉得很不错,是VBA入门的书箱,书中有许多例子,解释概念时非常有趣,当然,多多实践,才能真正学习到新的东西。
内容一般,照抄试运行了第一个程序正常,但保存后就因为变量声明问题和保存格式问题出现让excel每次启动都出现警告窗,非常烦人。office重装都没有解决掉,后面搜索一下午才以一个偶然的机会找到解决方案,很伤人的积极性。书中对这些细节问题的提示空白,希望改进