《Excel VBA高效办公实用宝典 2003/2007》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:韩小良,韩舒婷编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2009
  • ISBN:9787113094140
  • 页数:632 页
图书介绍:本书提供了几百个具有实用价值的小程序和自定义函数,还提供了数十个具有实用价值的应用程序开发片段。

第1章 Excel宏操作 1

1.1 录制宏 2

1.1.1 什么是宏 2

1.1.2 在Excel 2003中录制宏 2

1.1.3 在Excel 2007中录制宏 4

1.1.4 以相对引用录制宏 5

1.2 查看宏和编辑宏 5

1.2.1 在Excel 2003中打开录制的宏 5

1.2.2 在Excel 2007中打开录制的宏 7

1.2.3 编辑录制的宏 7

1.2.4 以绝对引用录制宏和以相对引用录制宏的不同 10

1.3 运行宏 11

1.3.1 使用快捷键 12

1.3.2 使用对话框 12

1.3.3 在Excel 2003中建立自定义命令按钮运行宏 12

1.3.4 在Excel 2007中建立自定义命令按钮运行宏 14

1.3.5 使用“窗体”工具栏控件(表单控件) 17

1.3.6 使用ActiveX控件 19

1.3.7 使用图形对象 21

1.3.8 使用Visual Basic编辑器 23

1.3.9 在打开工作簿时自动运行 23

1.3.10 在其他程序中调用 24

1.3.11 要运行宏,保存工作簿应注意的问题 24

1.4 设置宏的安全级别 24

1.4.1 在Excel 2003中设置宏的安全级别 24

1.4.2 在Excel 2007中设置宏的安全级别 25

1.5 删除宏、导出文件和导入文件 26

1.5.1 删除宏 26

1.5.2 删除文件 26

1.5.3 导出文件 26

1.5.4 导入文件 27

1.6 打印宏 27

1.6.1 打印整个模块 27

1.6.2 打印部分宏代码 27

1.7 宏录制器的局限性 28

1.8 录制宏练习——录制一个绘制两轴-柱图的宏 28

第2章 Excel VBA基本操作工具 31

2.1 VBE编辑器 32

2.2 VBA菜单 33

2.2.1 “文件”菜单 33

2.2.2 “编辑”菜单 34

2.2.3 “视图”菜单 34

2.2.4 “插入”菜单 34

2.2.5 “格式”菜单 35

2.2.6 “调试”菜单 35

2.2.7 “运行”菜单 36

2.2.8 “工具”菜单 36

2.2.9 “窗口”菜单 36

2.2.10 “帮助”菜单 36

2.3 工具按钮和命令 37

2.3.1 常用工具按钮和命令 37

2.3.2 工具栏 37

2.3.3 控件工具箱 38

2.4 窗口 38

2.4.1 工程资源管理器窗口 38

2.4.2 代码窗口 39

2.4.3 属性窗口 41

2.4.4 对象浏览器窗口 42

2.4.5 立即窗口 44

2.4.6 本地窗口 45

2.4.7 监视窗口 46

2.5 自定义工作环境 46

2.5.1 编辑器环境设置 47

2.5.2 编辑器格式环境设置 48

2.5.3 通用环境设置 49

2.5.4 可连接的环境设置 50

2.6 Excel VBA中常用的快捷键 50

第3章 ExcelVBA语法基础 53

3.1 常量 54

3.1.1 数值常量 54

3.1.2 字符及字符串常量 54

3.1.3 符号常量 54

3.1.4 逻辑常量 54

3.1.5 日期常量 54

3.1.6 内置常量 55

3.1.7 如何获得VBA内置常量信息 60

3.1.8 VBA内置常量应用举例 60

3.2 变量 62

3.2.1 变量名命名规则 62

3.2.2 变量的数据类型 62

3.2.3 变量的说明 63

3.2.4 强制声明变量 66

3.2.5 声明和使用模块级变量 67

3.2.6 声明和使用公共变量 67

3.2.7 声明和使用对象变量 67

3.2.8 声明和使用变量的几点提示 68

3.3 数组 68

3.3.1 数组声明 69

3.3.2 静态数组和动态数组 69

3.3.3 将数组的缺省下界设置为1 71

3.3.4 定义下标可选的数组 71

3.3.5 有用的数组函数 71

3.4 运算符和表达式 73

3.4.1 运算符 73

3.4.2 表达式及运算符的优先顺序 76

3.5 语句基本知识 77

3.5.1 声明语句 77

3.5.2 普通变量的赋值语句 77

3.5.3 对象变量的赋值语句 77

3.5.4 可执行语句 78

3.6 语句书写技巧 78

3.6.1 将数个语句写在一行上 78

3.6.2 将一个语句连续地写在数行上 79

3.6.3 添加注释 79

3.7 提高程序运行效率的几点建议 79

3.7.1 尽量使用VBA原有的属性、方法和工作表函数 79

3.7.2 尽量减少对象引用 80

3.7.3 减少对象的激活和选择 81

3.7.4 关闭屏幕更新 82

第4章 条件控制语句 85

4.1 条件语句 86

4.1.1 If...Then条件语句 86

4.1.2 多个条件的If...Then条件语句 87

4.1.3 If...Then...Else条件语句 89

4.1.4 If...Then...ElseIf...Then语句 90

4.1.5 嵌套的If...Then语句 91

4.1.6 如何判断当前单元格为空白单元格 92

4.2 分情况选择语句 93

4.2.1 Select Case语句的结构形式 93

4.2.2 具体数据的Select Case语句 94

4.2.3 连续数值范围的Select Case语句 94

4.2.4 使用Is的Select Case语句 95

4.2.5 在Case子句里确定多个表达式 95

4.3 嵌套语句 96

4.4 跳转语句 96

4.4.1 GoTo语句 97

4.4.2 On...GoTo语句 98

4.4.3 On...GoSub语句 98

4.4.4 GoSub...Retum语句 99

4.4.5 On Error语句 100

第5章 循环结构语句 103

5.1 For...Next循环结构 104

5.1.1 For...Next循环结构的形式 104

5.1.2 退出For...Next循环结构 107

5.2 Do...Loop循环结构 107

5.2.1 Do...Loop循环结构的形式 107

5.2.2 退出Do...Loop循环结构 109

5.3 For Each...Next循环结构 109

5.3.1 For Each...Next循环结构的形式 109

5.3.2 For Each...Next循环结构应用举例 109

5.3.3 退出For Each...Next循环结构 111

5.4 While...Wend循环结构 111

5.5 With...End With语句 112

第6章 函数的使用 115

6.1 获取Excel VBA函数信息 116

6.1.1 快速获取Excel VBA函数信息 116

6.1.2 按类别目录获取ExcelVBA函数信息 116

6.1.3 在程序中快速获取Excel VBA函数信息 117

6.2 Excel VBA函数语法 118

6.3 数学函数 118

6.3.1 常用数学函数 118

6.3.2 数学函数应用案例 118

6.4 日期与时间函数 119

6.4.1 日期与时间函数介绍 119

6.4.2 日期与时间函数应用案例 121

6.5 字符串处理函数 124

6.5.1 字符串处理函数介绍 124

6.5.2 字符串处理函数应用案例 125

6.6 强制转换函数 127

6.7 财务函数 127

6.7.1 财务函数介绍 127

6.7.2 财务函数应用案例 129

6.8 检查函数 130

6.8.1 常用的检查函数介绍 130

6.8.2 检查函数应用案例 130

6.9 数组函数 131

6.9.1 Array函数 131

6.9.2 UBound函数和LBound函数 131

6.10 几个重要的函数 132

6.10.1 判断函数——IIf函数 132

6.10.2 重要的格式函数——Fornat函数 132

6.10.3 Choose函数和Switch函数 133

6.11 输入和输出函数 134

6.11.1 输入函数(InputBox) 134

6.11.2 InputBox方法 135

6.11.3 输出函数(MsgBox) 136

6.12 Excel工作簿函数的使用 138

6.12.1 利用Application对象来调用Excel工作簿函数 138

6.12.2 利用字符串处理的方法来调用Excel工作表函数 139

6.12.3 可在VBA中使用的Excel工作簿函数 139

6.12.4 如何在VBA中使用全部的Excel工作簿函数 141

第7章 过程与自定义函数的设计 143

7.1 子程序 144

7.1.1 子程序的结构 144

7.1.2 子程序的类型 144

7.1.3 子程序的编写 145

7.1.4 调用子程序的基本方法 147

7.1.5 调用标准模块中的子程序 147

7.1.6 调用窗体对象模块中的子程序 148

7.1.7 调用工作表对象中的子程序 148

7.1.8 调用工作簿对象中的子程序 148

7.1.9 使用可选参数的子程序 148

7.1.10 使用可选参数默认值的子程序 149

7.1.11 使用不定数量参数的子程序 149

7.2 自定义函数 150

7.2.1 自定义函数的结构 150

7.2.2 自定义函数的编写与保存 150

7.2.3 自定义函数的调用 151

7.2.4 为自定义函数添加帮助信息 152

7.2.5 指定自定义函数的类别 154

7.2.6 如何传递自定义函数的参数值 155

7.2.7 如何为自定义函数设置可选参数和默认值 156

7.2.8 返回数组的自定义函数 157

7.2.9 接受不确定参数的自定义函数 158

7.2.10 接受数组的自定义函数 158

7.2.11 调试自定义函数 158

7.2.12 自定义函数的限制 159

7.3 变量和过程的作用域 159

7.3.1 变量的作用域 159

7.3.2 过程的作用域 160

7.4 退出过程 162

7.4.1 退出子程序 162

7.4.2 退出自定义函数 163

7.5 一些实用的子程序 163

7.5.1 保护所有的工作表 163

7.5.2 取消对所有工作表的保护 163

7.5.3 保护并隐藏指定工作表中的所有计算公式 163

7.5.4 隐藏除第一个工作表外的所有工作表 164

7.5.5 彻底隐藏指定的工作表 164

7.5.6 取消对所有工作表的隐藏 164

7.5.7 根据单元格数据设置字体颜色 164

7.5.8 一次性地删除工作表中所有的超链接 165

7.5.9 一次性地删除工作表中所有的图形对象 165

7.5.10 限制工作表单元格区域的滚动 166

7.5.11 删除数据区域内的空行 166

7.5.12 删除数据区域内的空列 166

7.5.13 每隔N行插入1个空行 166

7.6 一些实用的自定义函数 167

7.6.1 获取活动工作簿的名称和文件路径 167

7.6.2 获取活动工作表的名称 167

7.6.3 判断工作簿是否打开 167

7.6.4 判断工作表是否存在 168

7.6.5 查询工作簿上次保存的日期和时间 169

7.6.6 根据单元格内部颜色对单元格求和 169

7.6.7 根据单元格字体内部颜色对单元格求和 170

7.6.8 查询单元格内部颜色的名称或索引号 170

7.6.9 查询单元格字体颜色的名称或索引号 171

7.6.10 从混合文本中查找数字 172

7.6.11 返回单元格地址的列字母 173

7.6.12 查找含有特定文本字符串的单元格 173

7.6.13 对可见的数据行单元格求和 174

7.6.14 对隐藏的数据行单元格求和 175

7.6.15 判断单元格是否有普通公式 175

7.6.16 判断单元格是否有数组公式 176

7.6.17 判断单元格是否设置有条件格式 177

7.6.18 判断单元格是否设置有数据有效性 177

7.6.19 判断单元格是否引用了其他工作表数据 179

7.6.20 判断单元格是否引用了外部工作簿数据 179

7.6.21 判断单元格是否定义了名称 180

7.6.22 取得汉字拼音的第一个字母 181

7.6.23 计算个人薪金所得税 182

7.6.24 根据税后工资反算税前工资 183

7.6.25 将阿拉伯数字转换为大写的中文数字 184

7.6.26 将时间转换为小数格式 185

第8章 VBA的对象、属性、方法和事件 187

8.1 对象、方法、属性和事件概述 188

8.1.1 对象和对象集合 188

8.1.2 属性 188

8.1.3 方法 189

8.1.4 事件 189

8.1.5 引用对象 190

8.2 Excel中最常用的对象 190

8.2.1 Application对象 191

8.2.2 Workbook对象 192

8.2.3 Worksheet对象 193

8.2.4 Range对象或Range集合 193

8.2.5 Chart对象 194

8.3 VBA常用对象的集合 195

8.3.1 Workbooks集合 195

8.3.2 Worksheets集合 195

8.3.3 Sheets集合 195

8.3.4 Range集合 196

8.3.5 Names集合对象 196

8.3.6 Dialogs集合对象 196

8.3.7 Styles集合 196

8.3.8 Borders集合 196

8.3.9 Charts集合 197

8.4 Excel 2007新增的集合和对象 197

第9章 操作Excel应用程序 199

9.1 Application对象的常用属性及应用 200

9.1.1 ActiveCell属性——引用活动窗口的活动单元格 200

9.1.2 ActiveSheet属性——引用活动工作表 200

9.1.3 ActiveWorkbook属性——引用活动工作簿 201

9.1.4 ActiveWindow属性——引用活动窗口 201

9.1.5 RangeSelection属性——引用选定单元格区域 201

9.1.6 Selection属性——引用在活动窗口中选定的对象 201

9.1.7 ThisWorkbook属性——引用VBA代码正在运行的工作簿 201

9.1.8 ScreenUpdating属性——开/关屏幕更新 202

9.1.9 Caption属性——改变Excel标题栏上的标题 202

9.1.10 DisplayAlerts属性——控制显示警告信息 203

9.1.11 DisplayStatusBar属性——控制显示状态栏 203

9.1.12 DisplayFormulaBar属性——控制显示公式编辑栏 203

9.1.13 DisplayScrollBars属性——控制显示滚动条 203

9.1.14 Dialogs属性——打开内部对话框 203

9.1.15 Cursor属性——设置鼠标指针形状 204

9.1.16 UserName属性——返回或设置当前用户名称 204

9.1.17 WorksheetFunction属性——使用工作簿函数 204

9.1.18 StatusBar属性——在状态栏显示文字信息 205

9.1.19 FileSearch属性——查找文件 205

9.1.20 DisplayFullScreen属性——全屏显示 206

9.1.21 Visible属性——显示/隐藏Excel应用程序 206

9.1.22 SheetsInNewWorkbook属性——设置新工作簿的工作表数目 206

9.1.23 AutoRecover属性——设置保存自动恢复文件的时间间隔 206

9.1.24 DefaultFilePath属性——设置打开文件时的默认路径 207

9.1.25 AskToUpdateLinks属性——设置打开文件时是否更新链接 207

9.1.26 Speech属性——在Excel中进行朗读 207

9.1.27 Windows属性——设置所有工作簿中的所有窗口 207

9.2 Application对象的常用方法及应用 207

9.2.1 ActivateMicrosoftApp方法——打开一个Microsoft应用程序 207

9.2.2 Calculate方法——重新计算工作簿、工作表或单元格区域 208

9.2.3 CalculateFull方法——完整计算所有打开工作簿 208

9.2.4 FindFile方法——显示“打开”对话框 208

9.2.5 GetOpenFilename方法——显示标准的“打开”对话框 209

9.2.6 Goto方法——选定任意工作簿中的任意区域 210

9.2.7 InputBox方法——显示输入对话框 210

9.2.8 OnTime方法——在指定的时间执行宏 210

9.2.9 Quit方法——关闭Excel 211

9.2.10 Wait方法——暂停运行宏 211

9.2.11 Intersect方法——获取多个单元格区域的重叠区域 212

9.2.12 Union方法——获取多个单元格区域的重叠区域 212

9.2.13 Volatile方法——控制函数重新计算 212

9.3 关于Excel 2007新增的Application对象 212

9.3.1 AlwaysUseClearType属性——使用ClearType字体 213

9.3.2 DisplayFormulaAutoComplete属性——显示函数名称列表 213

9.3.3 FormulaBarHeight属性——设置编辑栏高度 213

9.3.4 MeasurementUnit属性——设置度量单位 213

9.3.5 MultiThreadedCalculation属性——设置多线程重新计算 213

9.3.6 ShowDevTools属性——设置显示“开发工具”选项卡 214

9.3.7 ShowSelectionFloaties属性——设置显示浮动工具栏 214

9.4 利用Application对象的事件控制Excel 214

9.4.1 Application对象事件 214

9.4.2 如何为Application对象编写事件程序 215

9.4.3 Application对象事件应用举例——控制打印任何工作簿 215

9.5 Application对象使用的补充说明 216

第10章 操作工作簿 217

10.1 引用工作簿对象 218

10.1.1 通过索引序号引用工作簿 218

10.1.2 通过名称引用工作簿 218

10.1.3 引用活动工作簿 218

10.1.4 引用VBA代码正在运行的工作簿 219

10.1.5 引用新建的工作簿 219

10.2 Workbooks集合的常用属性、方法及应用 219

10.2.1 Count属性——获取打开工作簿的数量 219

10.2.2 Add方法——创建工作簿 220

10.2.3 Open方法——打开工作簿 220

10.2.4 Close方法——关闭工作簿 221

10.2.5 Workbooks集合属性和方法的综合应用 221

10.3 Workbook对象的常用属性、方法及应用 221

10.3.1 ActiveSheet属性 222

10.3.2 Worksheets属性 222

10.3.3 Name属性——获取工作簿名称 222

10.3.4 FullName属性——获取工作簿的包括完整路径的名称 222

10.3.5 Path属性——获取工作簿的完整路径 223

10.3.6 Password属性——获取或设置工作簿保护密码 223

10.3.7 HasPassword属性——检查工作簿是否有密码保护 223

10.3.8 Saved属性——检查工作簿是否发生过更改 224

10.3.9 ActiveChart属性 224

10.3.10 Charts属性 224

10.3.11 BuiltinDocumentProperties属性——获取工作簿属性信息 224

10.4 Workbook对象的常用方法及应用 226

10.4.1 Activate方法——激活工作簿 226

10.4.2 Close方法——关闭工作簿 226

10.4.3 SaveAs方法——修改当前工作簿名称 227

10.4.4 Save方法——保存当前工作簿 227

10.4.5 SaveCopyAs方法——保存工作簿副本 227

10.4.6 Protect方法——保护工作簿 228

10.4.7 Unprotect方法——解除保护工作簿 228

10.4.8 RunAutoMacros方法——运行自动宏 228

10.4.9 NewWindow方法——为工作簿新建一个窗口 229

10.5 工作簿对象的事件编程 230

10.5.1 为工作簿对象指定事件的方法 230

10.5.2 Open事件编程 232

10.5.3 BeforeClose事件编程 233

10.5.4 BeforeSave事件编程 233

10.5.5 Activate事件编程 233

10.5.6 Deactivate事件编程 234

10.5.7 SheetBeforeRightClick事件编程 234

10.5.8 BeforePrint事件编程 235

10.6 关于Excel 2007新增的Workbook对象的属性和方法 236

10.6.1 CheckCompatibility属性 236

10.6.2 DefaultPivotTableStyle属性 236

10.6.3 DefaultTableStyle属性 236

10.6.4 ForceFullCalculation属性 236

10.6.5 IconSets属性 236

10.6.6 ExportAsFixedFormat方法 236

第11章 操作工作表 237

11.1 引用工作表 238

11.1.1 通过某工作表在Worksheets集合中的位置引用工作簿 238

11.1.2 通过工作表名称引用工作表 238

11.1.3 通过Sheets集合引用工作表 238

11.1.4 引用当前活动工作簿中的活动工作表 238

11.1.5 引用新建的工作表 239

11.1.6 引用特定的工作表 239

11.2 Worksheets集合的常用属性和方法 240

11.2.1 Count属性——获取工作簿中工作表的数量 240

11.2.2 Add方法——新建工作表 240

11.3 Worksheet对象的常用属性及应用 241

11.3.1 Index属性——获取工作表的索引号 241

11.3.2 Cells属性——选择整个工作表 241

11.3.3 Columns属性和Rows属性——选择列和行 242

11.3.4 Range属性——选择单元格 242

11.3.5 UsedRange属性——选择已使用区域 242

11.3.6 Name属性——获取或重命名工作表名称 243

11.3.7 Next属性——下一个工作表 243

11.3.8 Previous属性——上一个工作表 243

11.3.9 ScrollArea属性——设置滚动区域 244

11.3.10 Type属性——判断工作表类型 244

11.3.11 Visible属性——显示/隐藏工作表 244

11.3.12 StandardHeight属性——工作表的标准行高 245

11.3.13 StandardWidth属性——工作表的标准列宽 245

11.4 Worksheet对象的常用方法及应用 245

11.4.1 Activate方法——激活工作表 246

11.4.2 Delete方法——删除工作表 246

11.4.3 Copy方法——复制工作表 247

11.4.4 Move方法——移动工作表 247

11.4.5 FillAcrossSheets方法——填充相同区域 247

11.4.6 Select方法——选择工作表 247

11.4.7 Protect方法——保护工作表 248

11.4.8 Unprotect方法——撤销保护工作表 248

11.4.9 Calculate方法 248

11.4.10 PrintPreview方法 248

11.4.11 PrintOut方法 249

11.4.12 SetBackgroundPicture方法 249

11.5 工作表对象的事件编程 249

11.5.1 为工作表对象指定事件的方法 249

11.5.2 Activate事件 251

11.5.3 Deactivate事件 251

11.5.4 Change事件 252

11.5.5 SelectionChange事件 253

11.5.6 BeforeDoubleClick事件 254

11.5.7 BeforeRightClick事件 254

11.5.8 Calculate事件 255

11.5.9 工作表对象事件的综合应用 255

11.6 关于Excel 2007新增的Worksheet对象的属性和方法 256

11.6.1 EnableFormatConditionsCalculation属性 256

11.6.2 Sort属性 256

11.6.3 ExportAsFixedFormat方法 257

11.7 关于Excel工作表对象的一些说明 257

11.7.1 Sheets集合与Worksheets集合的区别 257

11.7.2 Activate方法与Select方法的区别 257

11.7.3 关于工作表名称和工作表对象名称的区别 258

第12章 处理单元格 259

12.1 如何获得或返回Range对象 260

12.1.1 使用Range属性引用单元格 260

12.1.2 引用单元格的快捷方式 261

12.1.3 使用Cells属性引用单元格 261

12.1.4 联合使用Range属性和Cells属性引用单元格区域 261

12.1.5 使用Offset属性动态地引用单元格 262

12.1.6 使用Rows属性和Columns属性引用行和列 263

12.1.7 使用Union方法组合多个单元格区域 264

12.1.8 使用Intersect方法引用交叉区域 264

12.1.9 使用CurrentRegion属性快速选择单元格区域 265

12.1.10 使用UsedRange属性选择使用区域 266

12.1.11 使用SpecialCells方法引用特定的单元格 266

12.1.12 使用Areas属性引用一个非连续区域 268

12.1.13 使用Resize属性更改区域范围 268

12.1.14 使用IsEmpty函数检查单元格是否空白 269

12.1.15 引用其他工作表中的区域 270

12.2 Range对象的常用属性及应用 271

12.2.1 Address属性——获取单元格的地址 271

12.2.2 Border属性——返回或设置单元格边框 271

12.2.3 Column属性和Row属性——返回或设置列号和行号数字 272

12.2.4 ColumnWidth和RowHeight属性——返回或设置列宽和行高 273

12.2.5 End属性——获取数据区域的边界行和列 274

12.2.6 Font属性——设置字体格式 274

12.2.7 Formula属性——向单元格输入公式 275

12.2.8 FormulaArray属性——向单元格输入数组公式 275

12.2.9 HasFormula属性——判断单元格是否有公式 275

12.2.10 FormulaArray属性——判断单元格是否有数组公式 275

12.2.11 Hidden属性——隐藏行或列 276

12.2.12 HorizontalAlignment属性——设置水平对齐方式 276

12.2.13 VerticalAlignment属性——设置垂直对齐方式 276

12.2.14 Interior属性——设置单元格内部颜色 276

12.2.15 Locked属性——锁定单元格 277

12.2.16 FormulaHidden属性——隐藏单元格公式 277

12.2.17 Name属性——为单元格命名或获取单元格名称 277

12.2.18 NumberFornat和NumberFormatLocal属性——设置单元格数据格式 277

12.2.19 Value属性——为设置赋值或获取单元格数据 278

12.3 Range对象的常用方法及应用 278

12.3.1 Activate方法——激活单元格 278

12.3.2 Autofit方法——将单元格区域中的列宽和行高调整为最适当的值 278

12.3.3 Clear、ClearComments、ClearContents和ClearFormats方法 279

12.3.4 Copy方法——复制单元格 279

12.3.5 Cut方法——剪切单元格 279

12.3.6 Delete方法——删除单元格、行和列 280

12.3.7 Insert方法——插入单元格、行和列 280

12.3.8 Justify方法——调整单元格的文字 281

12.3.9 Merge方法和UnMerge方法——合并和取消合并单元格 281

12.3.10 Select方法——选择单元格 281

12.4 Range对象的几个简单应用实例 281

12.4.1 处理含有公式的单元格 282

12.4.2 给单元格命名 283

12.4.3 处理特殊格式的单元格 283

12.4.4 单元格颜色联动变化 284

12.4.5 删除具有特定字符的行或列 284

12.4.6 删除工作表中的重复内容 284

12.4.7 筛选工作表中不重复的内容 285

12.4.8 选择或识别各种类型的单元格 286

12.4.9 删除所有的空行和空列 286

12.4.10 批量处理数字单元格 287

12.4.11 选择具有某种特殊格式的单元格 287

12.4.12 制作工资条 288

12.5 Font对象的常用属性及其应用 290

12.5.1 设置字体名称 290

12.5.2 设置字号 290

12.5.3 设置字体颜色 290

12.5.4 设置字体是否加粗 290

12.5.5 设置字体是否为斜体 290

12.5.6 设置字体是否带有阴影 291

12.5.7 设置文字中间是否有一条水平删除线 291

12.5.8 设置字体的下画线类型 291

12.5.9 设置字体的上下标 291

12.5.10 设置字体的样式 291

12.6 Interior对象的常用属性及其应用 292

12.6.1 设置单元格内部的主要颜色 292

12.6.2 设置单元格内部的渐变颜色 292

12.6.3 设置单元格的内部图案 292

12.6.4 清除单元格的内部颜色和图案 293

12.7 Border对象的常用属性及其应用 293

12.7.1 Border对象的主要属性 293

12.7.2 设置单元格区域的外部边框 294

12.7.3 设置单元格区域的全部边框 294

12.7.4 删除单元格区域的全部边框 295

12.8 处理单元格小结 295

12.8.1 选取单元格区域的基本语句 295

12.8.2 向单元格输入数据的基本语句 296

第13章 Chart对象及应用 299

13.1 通过录制宏理解Chart对象 300

13.1.1 录制绘制图表过程 300

13.1.2 宏代码分析 303

13.2 Chart对象的常用属性和方法 304

13.2.1 Chart对象的常用属性 304

13.2.2 Chart对象的常用方法 308

13.2.3 Chart对象常用属性的应用案例:获取图表信息 309

13.2.4 Chart对象常用属性和方法的应用案例:制作基本图表 314

13.3 绘制基本动态图表 315

13.3.1 绘制动态图表的方法 315

13.3.2 利用VBA绘制基本图表 315

13.4 创建动态图表 318

13.4.1 绘制动态图表指导思想 318

13.4.2 窗体设计 319

13.4.3 程序代码设计 319

13.4.4 应用举例 322

13.5 关于饼图的调整 324

13.6 调整两个图表同步变化 326

13.7 创建随源数据变化而变化的图表 327

13.8 利用图表的事件控制图表 328

13.8.1 为嵌入图表设置事件 328

13.8.2 在激活图表时就执行程序 329

13.8.3 在图表上单击或右击时就放大或缩小图表 330

13.8.4 在选择图表系列时就自动在工作表上显示出该系列的数据区域 330

13.9 关于在Excel 2007中利用VBA绘制图表 332

第14章 打印工作表 333

14.1 打印设置 334

14.1.1 设置打印区域(固定区域) 334

14.1.2 设置打印区域(不固定区域) 334

14.1.3 取消打印区域 334

14.1.4 设置打印列标题和行标题 335

14.1.5 取消打印列标题和行标题 335

14.1.6 设置页边距 335

14.1.7 设置页眉 336

14.1.8 设置页脚 337

14.1.9 设置页面的水平/垂直居中位置 337

14.1.10 设置纵向或横向打印模式 337

14.1.11 设置打印纸张大小 338

14.1.12 将工作表的全部数据都缩印在一页内 339

14.1.13 设置打印行号/列标和网格线 340

14.2 预览和打印 340

14.2.1 显示打印预览 340

14.2.2 打印工作表 340

14.3 自定义预览和打印 341

14.3.1 在任意的位置设置换页 341

14.3.2 获取打印总页数 342

14.3.3 显示打印机设置对话框 342

14.3.4 显示打印内容对话框 342

14.3.5 显示页面设置对话框 342

14.3.6 显示分页预览 342

14.3.7 隔页打印工作表 343

14.3.8 设置是否打印工作表上的Shape对象 343

14.4 通过录制宏的方式获取打印工作表的宏代码 343

第15章 Excel 2007中新增的重要数据管理分析对象 345

15.1 AboveAverage对象:设置高于平均值的视图 346

15.1.1 AboveBelow属性 346

15.1.2 AppliesTo属性 346

15.1.3 Borders属性 346

15.1.4 Font属性 346

15.1.5 Interior属性 347

15.1.6 Priority属性 347

15.1.7 Type属性 347

15.1.8 Delete方法 347

15.1.9 ModifyAppliesToRange方法 348

15.1.10 SetFirstPriority方法 348

15.1.11 SeLastPriority方法 348

15.1.12 应用案例 348

15.2 ColorScale对象:设置色阶 349

15.2.1 AppliesTo属性 349

15.2.2 ColorScaleCriteria属性 349

15.2.3 Formula属性 349

15.2.4 Priority属性 349

15.2.5 Type属性 350

15.2.6 Delete方法 350

15.2.7 ModifyAppliesToRange方法 350

15.2.8 SetFirstPriority方法 350

15.2.9 SeLastPriority方法 350

15.2.10 应用案例 350

15.3 ColorScaleCriterion对象:设置色阶条件 351

15.3.1 FormatColor属性 351

15.3.2 Index属性 351

15.3.3 Type属性 351

15.3.4 Value属性 352

15.4 ColorStop对象:设置渐变填充的光圈点 352

15.4.1 Color属性 352

15.4.2 Position属性 352

15.4.3 ThemeColor属性 352

15.4.4 TintAndShade属性 352

15.4.5 Delete方法 353

15.4.6 应用案例 353

15.5 ConditionValue对象:根据条件设置数据条 353

15.5.1 Type属性 353

15.5.2 Value属性 354

15.5.3 Modify方法 354

15.5.4 应用案例 354

15.6 Databar对象:设置数据条条件格式 355

15.6.1 Type属性 355

15.6.2 Value属性 355

15.6.3 Modify方法 355

15.7 FormatColor对象:设置条形颜色 356

15.7.1 Color属性 356

15.7.2 ColorIndex属性 356

15.7.3 ThemeColor属性 356

15.7.4 TintAndShade属性 356

15.7.5 应用案例TintAndShade属性 357

15.8 Icon对象:设置图标 357

15.9 IconSet对象:设置图标集 357

15.9.1 主要属性和方法 357

15.9.2 应用案例 358

15.10 IconSetCondition对象:设置图标集条件格式规则 359

15.10.1 AppliesTo属性 359

15.10.2 Formula属性 359

15.10.3 IconCriteria属性 359

15.10.4 IconSet属性 359

15.10.5 PercentileValues属性 360

15.10.6 Priority属性 360

15.10.7 ShowIconOnly属性 360

15.10.8 Type属性 360

15.10.9 Delete方法 360

15.10.10 ModifyAppliesToRange方法 360

15.10.11 SetFirstPriority方法 360

15.10.12 SeLastPriority方法 361

15.11 IconCriterion对象:设置图标的条件 361

15.11.1 Index属性 361

15.11.2 Type属性 361

15.11.3 Value属性 361

15.12 Sort对象:设置排序方式 361

15.12.1 Header属性 361

15.12.2 MatchCase属性 362

15.12.3 Orientation属性 362

15.12.4 Rng属性 362

15.12.5 SortFields属性 362

15.12.6 SortMethod属性 362

15.12.7 Apply方法 362

15.12.8 SetRange方法 362

15.12.9 应用案例 362

15.13 SortField对象:设置排序信息 363

15.13.1 CustomOrder属性 363

15.13.2 DataOption属性 363

15.13.3 Key属性 364

15.13.4 Order属性 364

15.13.5 Priority属性 364

15.13.6 SortOn属性 364

15.13.7 SortOnValue属性 364

15.13.8 Delete方法 364

15.13.9 ModifyKey方法 364

15.13.10 SetIcon方法 364

15.14 TableStyle对象:设置表格样式 365

15.14.1 BuiltIn属性 365

15.14.2 Name属性 365

15.14.3 TableStyleElements属性 365

15.15 TableStyleElement对象:表格样式元素 365

15.15.1 Borders属性 365

15.15.2 Font属性 365

15.15.3 HasFormat属性 365

15.15.4 Interior属性 366

15.15.5 StripeSize属性 366

15.15.6 Clear方法 366

15.16 Top10对象:符合条件格式规则的前10项 366

15.16.1 AppliesTo属性 366

15.16.2 Borders属性 366

15.16.3 Font属性 366

15.16.4 FormatRow属性 366

15.16.5 Interior属性 367

15.16.6 NumberFormat属性 367

15.16.7 Percent属性 367

15.16.8 Rank属性 367

15.16.9 TopBottom属性 367

15.16.10 Top10对象的主要方法 367

15.16.11 应用案例 367

15.17 UniqueValues对象:查找唯一值或重复值 368

15.17.1 AppliesTo属性 368

15.17.2 Borders属性 368

15.17.3 DupeUnique属性 369

15.17.4 Font属性 369

15.17.5 FormatRow属性 369

15.17.6 Interior属性 369

15.17.7 NumberFormat属性 369

15.17.8 UniqueValues对象的主要方法 369

15.17.9 应用案例 369

第16章 窗体控件设计 371

16.1 创建用户窗体 372

16.1.1 插入用户窗体 372

16.1.2 窗体的属性 372

16.1.3 窗体的方法 378

16.1.4 窗体的事件及为窗体指定事件的方法 378

16.1.5 窗体的启动、装载、卸载和关闭 379

16.1.6 如何使用户窗体布满整个屏幕 380

16.1.7 关于无模式窗体 380

16.2 创建窗体控件 381

16.2.1 控件基本概念 381

16.2.2 管理控件工具箱 382

16.2.3 合理安排窗体控件的Tab顺序键 384

16.2.4 布局窗体控件 385

16.3 常用控件及应用 385

16.3.1 标签(Label) 385

16.3.2 文本框(TextBox) 386

16.3.3 命令按钮(CommandButton) 389

16.3.4 框架(Frame) 390

16.3.5 选项按钮(OptionButton) 391

16.3.6 复选框(CheckBox) 391

16.3.7 复合框(ComboBox) 393

16.3.8 列表框(ListBox) 398

16.3.9 多页控件(MultiPage) 401

16.3.10 滚动条(ScrollBar) 403

16.3.11 数值调节按钮(SpinButton) 404

16.3.12 RefEdit控件 406

16.3.13 图像控件(Image) 408

16.4 其他控件介绍 410

16.4.1 进度条控件(ProgressBar) 410

16.4.2 ListView控件——一个简单的进销存查询系统 411

16.4.3 TreeView控件——一个简单的部门管理系统 416

16.4.4 Spreadsheet控件——在窗体上显示电子表格 421

16.4.5 ChartSpace控件——在窗体上显示图表 422

16.4.6 DTPicker控件——获取日期和时间 427

16.5 窗体的导出与导入 428

16.5.1 窗体的导出 428

16.5.2 窗体的导入 429

16.6 窗体控件应用实例:快速合并计算多个工作簿 429

16.6.1 应用程序窗口界面设计 429

16.6.2 程序代码设计 430

16.6.3 启动窗口 432

16.6.4 应用举例 432

第17章 自定义菜单与工具栏的设计 435

17.1 在系统菜单栏中添加自定义菜单 436

17.1.1 手工添加自定义菜单 436

17.1.2 手工删除自定义菜单 438

17.2 用VBA宏控制自定义菜单 438

17.2.1 自动添加自定义菜单 438

17.2.2 自动删除自定义菜单 441

17.3 建立自定义工具栏 441

17.3.1 手工建立自定义工具栏 441

17.3.2 手工删除自定义工具栏 443

17.4 用VBA宏控制自定义工具栏 443

17.4.1 自动创建自定义工具栏 443

17.4.2 自动删除自定义工具栏 446

17.5 自动创建多级自定义菜单 446

17.6 为用户窗体和控件创建快捷菜单 450

第18章 在应用程序中调用Excel工具 453

18.1 调用单变量求解工具 454

18.1.1 调用单变量求解工具的基本方法 454

18.1.2 单变量求解模型 455

18.2 调用规划求解工具 457

18.2.1 规划求解函数 457

18.2.2 使用规划求解函数需要注意的问题 460

18.2.3 在VBA中调用规划求解函数实例 461

18.2.4 变参数情况下调用规划求解工具 463

18.3 在VBA程序中调用其他Excel工具 468

第19章 程序调试 469

19.1 VBA调试工具 470

19.1.1 VBA调试工具栏 470

19.1.2 VBA调试菜单 470

19.2 调试程序 470

19.2.1 中断模式的进入和退出 470

19.2.2 控制程序的运行 471

19.2.3 设置和清除断点 473

19.2.4 检查程序运行 473

19.3 错误类型 475

19.3.1 编译错误 475

19.3.2 运行错误 475

19.3.3 逻辑错误 476

19.4 错误处理方法 476

19.4.1 设置错误陷阱 476

19.4.2 退出错误处理 477

19.4.3 小心使用On Error Resume Next语句 477

第20章 VBA帮助工具的使用 479

20.1 打开Visual Basic帮助窗格 480

20.2 如何获得Visual Basic帮助 480

20.2.1 从Visual Basic帮助窗格中获得帮助 480

20.2.2 在程序中直接得到Visual Basic帮助 482

20.2.3 通过“Visual Basic帮助”窗格的目录得到帮助 483

第21章 文件和文件夹的操作 485

21.1 操作文件和文件夹 486

21.1.1 获取当前文件夹的名称 486

21.1.2 更改文件或文件夹名称 486

21.1.3 检查文件或文件夹是否存在 487

21.1.4 获得文件的修改日期和时间 489

21.1.5 获得文件大小 489

21.1.6 返回和设置文件属性 489

21.1.7 更改默认文件夹或驱动器 490

21.1.8 创建和删除文件夹 491

21.1.9 复制文件 491

21.1.10 删除文件 492

21.2 传统的文件读取和写入 493

21.2.1 文件的基本概念 493

21.2.2 文件访问类型 493

21.2.3 顺序文件的读/写操作 494

21.2.4 随机文件的读/写操作 501

21.2.5 二进制文件的读/写操作 502

21.3 利用文件对象模型操作文件和文件夹 502

21.3.1 引用文件对象模型 502

21.3.2 FileSystemObject对象及其属性 503

21.3.3 文件操作 505

21.3.4 文件夹操作 508

21.3.5 驱动器操作 510

21.3.6 文本文件操作 512

21.3.7 FSO对象模型的其他操作 515

第22章 利用VBA控制其他应用程序 519

22.1 控制应用程序 520

22.1.1 启动应用程序 520

22.1.2 在应用程序之间切换 522

22.1.3 控制其他应用程序 523

22.2 自动化操作 524

22.2.1 链接和嵌入 524

22.2.2 自动控制 524

22.2.3 创建自动控制对象 527

22.3 与Word文件进行交互 529

22.3.1 建立一个新的Word文件 529

22.3.2 打开一个存在的Word文件 529

22.4 与Outlook应用程序进行交互——发送邮件 531

第23章 处理文本文件 533

23.1 将文本文件数据导入到Excel工作表 534

23.1.1 录制一个导入文本文件的宏 534

23.1.2 QueryTable对象及其属性和方法 537

23.1.3 创建一个导入文本文件数据的子程序 539

23.2 导入超过65 536行的文本文件数据 541

23.3 逐行导入文本文件数据 541

23.4 将工作表的数据保存到文本文件 541

23.5 利用ADO和SQL操作文本文件 543

23.5.1 利用ADO建立与文本文件的连接 543

23.5.2 查询文本文件的全部数据并复制到工作表 543

23.5.3 利用ADO和SQL导入文本文件的部分内容 544

第24章 操作Access数据库 547

24.1 创建和打开Access数据库 548

24.1.1 利用DAO对象创建Access数据库 548

24.1.2 利用Access对象创建Access数据库 550

24.1.3 打开Access数据库和数据表 551

24.2 ADO数据库访问技术 551

24.2.1 ADO的对象 551

24.2.2 引用ADO对象库 553

24.2.3 声明、打开与关闭Connection对象和Recordset对象 553

24.2.4 记录集及其主要属性和方法 554

24.2.5 引用记录字段 557

24.2.6 检查数据表是否存在 558

24.2.7 检查字段是否存在 559

24.2.8 检查字段的数据类型和字段长度 560

24.2.9 获取所有的数据表名称 562

24.2.10 将查询结果复制到Excel工作表 563

24.2.11 将查询结果作为窗体控件设置源数据 564

24.2.12 ADO应用案例——客户管理系统 565

24.3 SQL语言基础 573

24.3.1 SQL运算符 573

24.3.2 SQL常用语句及其应用 573

24.3.3 联合使用ADO和SQL操作数据库示例 576

24.4 用SQL语句建立查询 578

24.4.1 选取数据表的全部字段进行查询 578

24.4.2 选取数据表的部分字段进行查询 579

24.4.3 用WHERE子句进行查询 579

24.4.4 用DISTINCT属性词消除重复记录 580

24.4.5 用TOP属性词查询前面的若干条记录 580

24.4.6 利用LIKE运算符进行模糊查询 580

24.4.7 利用BETWEEN运算符进行查询 581

24.4.8 利用合计函数MAX、MIN、SUM、AVG进行查询 581

24.4.9 利用NULL函数进行查询 581

24.4.10 利用HAVING子句进行查询 582

24.4.11 利用ORDER子句进行组合排序 582

24.4.12 查询多个表 582

24.4.13 生成表查询和追加查询 582

24.5 ADO与SQL应用案例:职工信息浏览系统 584

24.5.1 职工浏览系统窗体结构设计 585

24.5.2 程序代码设计 585

24.5.3 系统使用 588

24.6 在不打开工作簿的情况下将工作簿数据保存为Access数据库 589

24.6.1 有关属性和方法 589

24.6.2 将整个工作表数据都保存为Access数据库 591

24.6.3 将工作表的部分单元格数据保存为Access数据库 592

24.6.4 快速汇总计算多个工作簿 592

第25章 利用ADO和SQL操作工作簿 597

25.1 利用ADO和SQL操作工作簿的方法 598

25.1.1 建立与工作簿的连接 598

25.1.2 编写SQL语句 598

25.2 利用ADO和SQL操作工作簿示例 598

25.2.1 从当前工作簿的某个工作表查询数据 599

25.2.2 从当前工作簿的多个工作表查询数据 600

25.2.3 在不打开其他工作簿的情况下对其进行查询 601

25.2.4 在不打开工作簿的情况下对多个工作簿进行汇总 602

25.2.5 编制资产负债表 606

第26章 利用Excel VBA操作SQL Server数据库 611

26.1 建立与SQL Server服务器和数据库的连接 612

26.1.1 建立与SQL Server服务器的连接 612

26.1.2 建立与SQL Server数据库的连接 613

26.2 查询SQL Server数据库数据 614

26.3 通过窗体浏览SQL Server数据库数据 615

26.4 将Excel工作表的数据添加到SQL Server数据库 619

附录 案例目录 621