内容简介
Kevin
英文名、网名都是Kevin,圈内人惯称K总(不是总经理的那个总,而是总版主的那个总)。曾经是追求极致办公效率的会计一枚(好吧,我承认其实我就是喜欢偷懒),为此拼命折腾Office,特别是Excel。为了能和志同道合的人一起折腾Excel,1999年心血来潮创办了ExcelHome,没想到一搞就到了今天。不安分的小会计后来索性转战IT圈,鼓捣并多次实施信息化系统。这些年出过一些书,分享过一些网络视频教程,也经常到企业里鼓吹自己的偷懒经验和定制解决方案,还因此被微软年年评为编外优秀工作者——哦,错了,应该叫微软全球最有价值专家。未来计划继续说教之路,让更多人走上高效办公之路。
罗国发
网名ggsmart,叶枫。毕业就开始当老师,十余年的教学经历让我成长为一名经验丰富的教学能手(自封的)。生活中闲时也没什么爱好,就爱上上网,逛逛论坛,翻翻网页,...
()
作品目录
目录
第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 如果不需要和程序互动,就关闭屏幕更新
· · · · · ·
作者简介
Kevin
英文名、网名都是Kevin,圈内人惯称K总(不是总经理的那个总,而是总版主的那个总)。曾经是追求极致办公效率的会计一枚(好吧,我承认其实我就是喜欢偷懒),为此拼命折腾Office,特别是Excel。为了能和志同道合的人一起折腾Excel,1999年心血来潮创办了ExcelHome,没想到一搞就到了今天。不安分的小会计后来索性转战IT圈,鼓捣并多次实施信息化系统。这些年出过一些书,分享过一些网络视频教程,也经常到企业里鼓吹自己的偷懒经验和定制解决方案,还因此被微软年年评为编外优秀工作者——哦,错了,应该叫微软全球最有价值专家。未来计划继续说教之路,让更多人走上高效办公之路。
罗国发
网名ggsmart,叶枫。毕业就开始当老师,十余年的教学经历让我成长为一名经验丰富的教学能手(自封的)。生活中闲时也没什么爱好,就爱上上网,逛逛论坛,翻翻网页,...
(展开全部)
精彩摘录
OptionalExplicitSubtest()a="iamvariant??"MsgBoxaEndSub
——引自章节:3
Subszbn()DimstrAsStringstr="learnVBA!"Range("A1").Value=strEndSub
——引自章节:3