当前位置:首页 > 工业技术
Excel 2010 VBA入门与提高
Excel 2010 VBA入门与提高

Excel 2010 VBA入门与提高PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:黄朝阳主编;李懿编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2014
  • ISBN:9787121224621
  • 页数:496 页
图书介绍:本书着重于Excel VBA的基础知识和技巧,通过153个实例为读者展示应用VBA解决实际问题的思路和方法,并展示了常规VBA数据处理的要点,帮助读者学会解决实际问题的思考方式。阅读本书后,读者可以掌握VBA的基本语法、数据处理、自定义函数的编写、功能区设计等重要技术,并将其应用于实际工作中,从而极大地提升工作效率和数据处理的正确性。
《Excel 2010 VBA入门与提高》目录

第1章 认识VBA 1

第1节 认识宏 1

疑难1 如何显示“开发工具”选项卡 1

在Excel 2007中显示“开发工具”选项卡 2

疑难2 如何录制和运行宏 3

宏代码保存的位置 4

疑难3 如何编辑宏 5

利用按钮运行宏 8

疑难4 如何保存带有宏的工作簿 8

疑难5 如何屏蔽保存工作簿时的隐私问题警告 9

疑难6 如何设置宏的安全性 10

疑难7 如何创建和使用数字证书签名 12

第2节 认识VBE 15

疑难8 如何打开VBA编辑器 15

疑难9 VBA编辑器包含哪些窗口 16

VBE各窗口简介 16

VBE各窗口位置的调整 17

VBE各窗口的显示或隐藏 17

疑难10 VB编辑器包括哪些工具栏 18

第3节 VBA代码编写及帮助信息 18

疑难11 如何创建VBA程序 18

VBA代码编写格式 20

疑难12 如何运行及调用VBA程序 21

立即窗口的作用 22

疑难13 如何导入或导出VBA代码 22

疑难14 如何获取VBA帮助 24

疑难15 如何使用对象浏览器 25

对象浏览器 26

第4节 VBA基础 26

疑难16 如何定义变量使VBA程序更灵活 26

声明变量 27

变量名的命名规则 27

VBA的数据类型 27

数据类型的分类及表示方式 28

变量的赋值 29

变量的读取 30

VBA常量 30

定长字符串与变长字符串 30

隐式声明 31

疑难17 如何使多个程序共享变量 31

作用域 32

全局变量 32

局部变量 32

模块级变量 32

同名变量 33

疑难18 如何进行变量类型的转换 33

VBA中的类型转换函数 34

整数的类型转换 35

字符的类型转换 35

数据类型的隐式转换 35

疑难19 如何防止变量名称拼写错误 36

Option Explicit语句 36

强制显式声明变量设置 37

使用编译功能查错 37

疑难20 如何利用VBA进行计算 38

文本连接 39

算术四则运算 39

指数运算 39

整除 39

计算余数 39

比较运算 39

运算优先级 40

在文本中表示双引号(”) 40

疑难21 如何分段计算奖金系数 40

IF分支结构 41

逻辑运算符 44

Select…Case分支结构 45

Select…Case分支结构的条件 46

Select和IF分支结构的区别 46

疑难22 如何检验文本是否以字母开头 47

Like运算符 48

VBA比较模式 48

疑难23 如何判断某个数是否为质数 49

Do…Loop循环 50

退出Do…Loop循环 52

For…Next循环 53

退出For…Next循环 54

死循环 54

退出多层循环 54

Goto语句和行标签 54

第5节 练习与思考 55

第2章 数据的基本处理 56

第1节 单元格的选取与赋值 56

疑难24 如何选取单元格 56

对象的概念 57

对象的属性和方法 57

单元格对象Range的表示方法 57

单元格对象Cells的表示方法 58

使用对象变量表示单元格对象 59

Evaluate方法表示单元格对象 59

Evaluate方法的简写模式 60

Evaluate方法的一般模式与简写模式的区别 60

单元格对象的Select方法 60

疑难25 如何选取单元格区域 60

以地址表示矩形单元格区域对象 61

以对角单元格表示矩形单元格区域对象 61

不规则单元格区域的表示 62

使用Union方法获取合并区域 62

使用Intersect方法获取多个区域的交集 63

疑难26 如何读取单元格的值和显示的值 64

单元格对象的Value属性 64

单元格对象的Text属性 65

自动列出成员 65

单元格的数字格式属性 66

疑难27 如何进行单元格批量赋值 66

利用Value属性给单元格赋值 67

For Each…Next循环 68

使用For Each…Next循环的注意事项 68

利用Value属性给单元格区域赋值 69

单元格(Range)对象的Address属性 69

疑难28 如何向单元格输入公式 70

利用Formula属性给单元格输入公式 71

Formula属性和Value属性的联系与区别 71

利用FormulaR1C1属性给单元格输入公式 72

R1C1引用样式的规则 72

通过代码实现粘贴值 73

使用VBA替代公式实现计算 73

疑难29 如何在VBA中使用工作表函数进行计算 73

WorksheetFunction对象 74

VBA中使用工作表函数 75

获取VBA中工作表函数的帮助 75

第2节 单元格的格式设置 75

疑难30 如何快速设置标题行格式 75

With语句 76

With语句的嵌套 76

Interior对象 77

Font对象 78

单元格的对齐方式 78

Selection对象 78

利用录制宏获取格式设置代码 79

通用的格式设置对象 79

疑难31 如何批量生成上标 79

Characters对象 80

Font对象的Superscript属性 80

设置Characters对象Font的注意事项 80

Characters属性的通用性 81

疑难32 如何快速将列进行分组 81

Columns对象和Rows对象 82

单列和单行的表示 82

多列和多行的表示 82

Group方法和Ungroup方法 82

单元格对象的EntireColumn属性和EntireRow属性 82

单元格区域的Columns属性和Rows属性 83

Outline对象 84

疑难33 如何批量合并相同的单元格 84

Range的Merge方法合并单元格 85

VBA运行时关闭警告 85

多行中相同的内容处理 86

疑难34 如何创建图片批注 86

批注(Comment)对象 87

批注的添加与删除 87

FillFormnat对象 88

On Error语句 88

第3节 单元格的定位与查找 89

疑难35 如何利用VBA程序定义条件格式 89

VBA条件格式的原理 90

表示整行的方法 91

日期函数DateSerial 91

利用工作表事件实时设置格式 91

疑难36 如何一次性替换所有的错误值 91

Range对象的Find方法 92

参数省略表示法 93

查找格式 94

使用Is Nothing判断对象是否初始化 94

IsError函数 94

SpecialCells方法 95

Find方法的一般形式 96

CVErr函数 97

疑难37 如何获取最后一行数据的行数 97

使用Find方法查找最后的单元格 99

Find方法按行查找和按列查找的区别 99

获取工作表总行数 100

单元格对象的End属性 101

End属性的局限性 101

其他获取最后数据行行号的方法 102

疑难38 如何按颜色查找单元格 102

单元格对象的Clear方法 103

动态表示数据区域 104

单元格对象的Copy方法 104

单元格对象的选择性粘贴(PasteSpecial)方法 104

第4节 数据的整理 105

疑难39 如何按条件隐藏数据行 106

行和列的隐藏 107

单元格对象的AutoFilter(自动筛选)方法 107

单元格对象的AdvancedFilter(高级筛选)方法 109

疑难40 如何批量删除空行 109

单元格删除Delete方法 110

单元格删除的通用算法 110

利用Union获取整个单元格区域进行统一操作 111

Union方法的注意事项 111

单元格插入Insert方法 112

疑难41 如何实现逐行输入 112

Protect方法和Unprotect方法 113

单元格的Locked属性 114

允许VBA修改保护后的工作表 114

疑难42 如何用VBA创建下拉列表 115

Validation对象 115

Validation对象的Add方法 116

疑难43 如何使用VBA对数据按自定义序列进行排序 117

单元格对象的Sort方法 118

添加和删除自定义序列CustomList 119

使用自定义序列排序 119

Sort对象 120

排序字段SortField 120

按颜色排序 121

设置排序区域SetRange方法 121

第5节 练习与思考 121

第3章 VBA常用函数和语句 122

第1节 数学函数 122

疑难44 如何用VBA进行四舍五入 122

VBA的Round函数 123

VBA的Round函数与工作表Round函数的区别 123

在Office软件中使用自定义函数替代VBA的Round函数 125

疑难45 如何随机筛选指定个数的记录 125

随机数Rnd函数 126

不重复地挑选数据 127

Rnd函数语法 127

伪随机数概念 127

Randomize语句 127

疑难46 如何利用VBA转换十六进制数字 127

VBA的Hex函数 128

利用工作表函数进行进制转换 128

以文本形式表示数字 129

单元格的Prefix属性与Excel的TransitionNavigKeys属性 129

其他进制数字在VBA中的表示方法 129

第2节 文本函数 129

疑难47 如何判断某文本中是否包含指定字符 129

Instr函数 130

InstrRev函数 131

疑难48 如何批量替换文本中的指定字符 131

Replace函数 132

单元格对象的Replace方法 133

疑难49 如何根据身份证号码判断性别 133

Left、Right和Mid函数 135

Len函数 135

疑难50 如何替换文本中指定位置的字符 135

MID语句 136

使用MID语句的注意事项 136

MID语句的优势和局限性 137

第3节 日期和时间函数 137

疑难51 如何获取和设置计算机中的当前日期 137

Date函数和Date语句 138

DateSerial函数 138

更改时间及日期的限制 139

Time函数和Time语句 139

Now函数 139

VBA中日期的实质 139

疑难52 如何计算合同到期日期 140

DateAdd函数 140

疑难53 如何提取身份证号码中的出生日期并计算年龄 141

DateDiff函数 142

DateDiff函数中interval参数“w”和“ww”的区别 143

VBA的DateDiff函数和工作表函数DateDif的区别 143

疑难54 如何将日期转换成英文格式 144

Format函数 145

特殊的英文格式日期 146

使用DatePart函数获取日期信息 146

第4节 其他常用函数和语句 147

疑难55 如何求得文本计算式的计算结果 147

去除有规律但内容不定的文本 148

String函数 148

Evaluate方法计算表达式的值 149

利用VBScript的Eval函数计算表达式的值 149

疑难56 如何获取当前Windows登录用户名 149

Environ函数 150

获取所有的系统环境变量 150

疑难57 如何为宏创建快捷键 150

Application.OnKey方法 151

Application.OnKey方法的注意事项 152

Application.SendKeys方法 152

疑难58 如何定时运行程序 152

Application.OnTime方法 153

使用Application.OnTime重复执行程序 154

取消Application.OnTime定时器的方法 154

疑难59 如何用VBA在工作表中创建文件清单 154

Dir函数 155

Dir函数查找路径下所有的文件 156

GetAttr函数获取文件属性 156

SetAttr语句修改文件属性 156

疑难60 如何用VBA将文件复制到另一个文件夹下并改名 156

FileCopy语句 158

Name…As语句 158

第5节 练习与思考 158

第4章 多表数据处理 159

第1节 跨工作表的数据处理 159

疑难61 如何按模板快速生成指定数量的工作表 159

工作表对象(Worksheet)及其表示方法 161

工作表集合和工作表 162

工作表常用的基本属性 162

工作表的添加与复制 163

工作表对象(Worksheet)与单元格对象(Range)的关系 163

工作表的删除 164

Application.DisplayAlerts属性 164

疑难62 如何进行跨表数据查询 165

跨表操作单元格 166

连续查找功能 166

疑难63 如何进行跨表数据录入 167

ListObject对象 168

ListObject对象的表示方法 169

ListColumn对象 169

向ListObject中添加新数据 170

使用VBA添加ListO bject对象 171

Excel中数据存储的结构 171

疑难64 如何按照关键字批量创建超链接 173

Hyperlink对象 174

创建超链接 175

删除超链接及访问超链接 175

创建超链接打开指定的宏代码 175

第2节 跨工作簿的数据处理 175

疑难65 如何将多个工作表保存至单独的工作簿中 176

工作簿对象(Workbook)及其表示方法 177

Application、Workbook、Worksheet和Range的关系 177

工作簿(Workbook)对象的常用属性 178

工作簿的新建和保存 178

获取当前文件的目录 180

跨工作簿复制工作表 180

使用Application.PathSeparator获取系统路径分隔符 180

SaveAs和Save的区别 180

疑难66 如何读取其他工作簿的数据 181

打开关闭的工作簿 182

疑难67 如何导入多个工作簿中的工作表 183

导入多个工作簿中的工作表 185

Application.ScreenUpdating属性 185

疑难68 如何将当前工作簿备份至指定目录 185

工作簿对象(Workbook)的SaveCopyAs方法 186

SaveCopyAs方法和SaveAs方法的区别 186

第3节 工作表和工作簿的事件程序 186

疑难69 动态改变当前选中行的颜色 186

事件的概念 187

Worksheet的Selection Change事件 188

启用Excel的事件 188

工作表事件一览 188

疑难70 如何实现双击标题行即对该列降序排序 189

工作表双击事件(BeforcDoubleClick) 189

疑难71 如何完善数据有效性验证 190

工作表对象的Change事件 191

判断数据是否符合有效性设置 191

Change事件的缺陷 191

利用VBA撤销操作 192

事件循环 192

禁用事件 193

疑难72 如何动态隐藏工作表 193

工作表(Worksheet)对象的Select方法 194

工作表激活事件(Activate)和失去激活状态事件(Deactivate) 196

工作簿事件 197

类模块和Me变量 198

疑难73 如何实现必填数据为空则无法保存 199

工作簿保存事件(BeforeSave) 200

疑难74 如何进行个性化的工作表保护 200

工作簿的Workbook SheetChange事件 202

工作簿的Workbook Activate事件 202

事件的组合 203

疑难75 如何实现用户登录机制 203

工作簿打开事件(Open) 205

登录的机制 205

auto_open和auto_close 206

第4节 练习与思考 206

第5章 数据处理的综合应用 207

第1节 计算及统计 207

疑难76 如何计算个人所得税 207

个人所得税计算的步骤 209

实现简单计算的思考步骤 209

疑难77 如何进行销售合计汇总 209

使用循环结合工作表函数进行数据合计 210

行循环结构的建立 211

列循环结构的建立 211

多层嵌套循环结构的建立 213

循环的简化 215

以编程的方式思考问题 215

疑难78 如何将15位身份证号码升为18位 215

身份证号码解读 216

利用字符串截取进行查询 217

第2节 数据查询与汇总 217

疑难79 如何罗列满足条件的所有数据 217

内嵌分支的循环结构 219

罗列数据 219

循环结构建立的误区 219

疑难80 如何在多个工作表中查找指定的数据 219

多表查询 221

疑难81 如何获取不重复的数据 221

去除重复值(RemoveDuplicates)方法 222

使用VBA去除重复值 224

巧用Exit语句退出循环以加快速度 224

循环中判断条件的确立 224

使用Find方法代替循环遍历查找 225

疑难82 如何对比两个表的数据 225

两表比较的步骤 227

疑难83 如何按单列汇总数据 227

按单列汇总数据的步骤 229

可互换的循环嵌套 229

多个循环结构的合并 229

学会简单直接的思考方式 231

疑难84 如何按多列汇总数据 231

按多列汇总数据的步骤 233

疑难85 如何制作多级下拉列表 233

创建多级下拉列表的思考步骤 235

疑难86 如何获取交叉查询结果表 236

交叉汇总表 238

建立交叉汇总表的步骤 238

建立交叉汇总表的优化 239

疑难87 如何按单列汇总多个工作表 239

汇总多个工作表 241

汇总数据位置不同的多个工作表 241

疑难88 如何汇总列数不相等的多个工作表 241

合并汇总(Consolidate)方法 242

Array函数 243

Evaluate方法构造数组 244

使用VBA汇总多个列数不相等的工作表的步骤 246

疑难89 如何按指定列分拆工作表 246

拆分工作表的步骤 248

判断工作表是否存在的步骤 248

Is运算符比较对象变量 248

疑难90 如何制作动态汇总的数据查询表 249

动态汇总 251

多列连接 252

疑难91 如何利用数据透视表汇总数据 252

数据透视表缓存对象(PivotCache) 254

访问数据透视表缓存对象(PivotCache) 254

数据透视表对象(PivotTable) 254

创建数据透视表 255

访问数据透视表对象 255

数据透视表的字段(PivotField) 255

数据字段 256

疑难92 如何汇总多工作簿的数据 256

汇总多个工作簿 259

使用GetObject函数获取对象 259

第3节 数组处理 260

疑难93 如何建立数组加快程序运行 260

数组的基本概念 261

数组的声明 262

数组的赋值与数组数据的读取 262

Ubound和Lbound函数获取数组的上下限 263

ForEach...Next循环遍历数组的注意事项 263

计算程序运行的时间 264

数组处理的极限 264

疑难94 如何使用数组处理列数较多的数据 264

建立列数下标的数组 267

使用枚举Enum 267

疑难95 如何利用数组实现分列 268

Split函数 269

将动态数组写入单元格 270

数组的维度与单元格行列的关系 271

Option Base语句 271

Join函数 271

疑难96 如何利用数组提取不重复值 272

利用数组提取不重复值列表的步骤 273

Redim Preserve语句 273

使用工作表函数Transpose对数组进行转置 274

Filter函数 275

使用Filter函数提取不重复值的步骤 276

空数组的判断 276

Filter函数的精确筛选 276

Filter函数在数据比对中的应用 277

疑难97如何进行条件数量不确定的多条件数据查找 277

使用数组进行多条件查找 279

第4节 练习与思考 280

第6章 数据的转换 281

第1节 数据的导入与导出 281

疑难98 如何导入Access数据库的数据 281

利用ADO连接数据库 283

利用ADO执行SQL查询并在Excel中输出结果 283

SQL语句 283

ADO连接不同的数据库 283

疑难99 如何利用VBA批量导入文本文件 285

用Open语句和Close语句打开和关闭文件 287

Input语句和Line Input语句读取文本文件 287

EOF函数 288

Transpose函数将嵌套的一维数组转换为二维数组 288

疑难100 如何将xls格式工作簿批量转换为xlsx格式 290

使用HasVBProject属性判断工作簿是否有代码 291

禁止打开工作簿时执行程序 292

疑难101 如何将Excel按指定格式导出为文本文件 292

Open语句创建文本文件 294

使用Print语句向文件中写入指定的内容 294

Write语句 294

Index函数取二维数组的子集 295

疑难102 如何利用VBA批量发送邮件 295

CDO组件 297

CDO.Message对象 297

CDO.Message.Configuration对象 297

前期绑定与后期绑定 298

New关键字创建对象 299

添加邮件的附件 300

第2节 图形与图表 300

疑难103 如何利用VBA批量插入图片 300

Shapes、Shape和ShapeRange 302

Shapes对象插入图形的方法 303

Excel的坐标 304

图形大小的调整 304

获取图片的原始大小 305

将图片按比例缩放至单元格 305

图片批量插入的步骤 306

Pictures集合 306

疑难104 如何利用VBA生成图表 307

ChartObjects集合和ChartObject对象 308

Chart对象 309

数据系列(Series)对象 309

添加图表的其他方法 310

疑难105 如何将工作表数据批量导出为图片 311

Copy、Cut和Paste方法 312

图表对象(Chart)的Export方法 313

利用PPT导出图片 313

第3节 练习与思考 314

第7章 自定义过程和函数的开发 315

第1节 自定义过程和函数的开发实例 315

疑难106 如何编写带参数的过程 315

使用含有参数的过程供多个过程调用 317

含有参数的过程的声明方法 318

编写含有参数的过程的方法 319

使用Application.Run调用过程 319

疑难107 如何编写处理数组排序的过程 319

ByVal和ByRef的区别 320

选择排序 321

数组排序的方法简介 322

疑难108 如何编写个人所得税计算函数 322

声明自定义函数 323

自定义函数的返回值 324

自定义函数和过程的区别与联系 324

疑难109 如何编写获取某列最后非空单元格行号的函数 324

Volatile方法 325

易失性函数 325

疑难110 如何编写获取最小值的自定义函数 325

使用ParamArray关键字声明数组参数 327

IsMissing函数 327

IsArray函数 328

函数的嵌套与递归 328

疑难111 如何编写条件查询的函数 330

使参数适用于数组和单元格区域 331

TypeName函数和VarType函数 331

查找指定位置的数据 333

返回指定错误值的函数 333

疑难112 如何编写函数按条件汇总关闭的工作簿中的数据 334

自定义函数参数的跨表引用 335

条件求和函数的累加原理 336

使用Evaluate方法将引用转换为数组 336

疑难113 如何使用自定义函数返回满足条件的所有记录 336

以数组作为返回值的自定义函数 338

Application.Caller属性 338

疑难114 如何设置自定义函数的说明 339

Application.MacroOptions方法 340

第2节 练习与思考 341

第8章 Excel对话框操作 342

第1节 Excel对话框操作实例 342

疑难115 如何创建信息提示对话框 342

MsgBox函数 343

MsgBox函数buttons参数的组合 344

Application.Cursor属性 344

Application.SatusBar属性 345

疑难116 如何制作具有交互功能的提示对话框 345

MsgBox函数的返回值 346

疑难117 如何创建具备输入功能的对话框 347

VBA.InputBox函数 348

InputBox函数的返回值 348

疑难118 如何反复提示对话框直到数据合法 348

IsNumeric函数 349

Application.InputBox方法 350

疑难119 如何创建对话框的帮助文档 351

CHM文件及HTML Help Workshop 356

在Excel VBA中调用CHM文件 356

创建VBA项目的帮助系统 357

使用语句打开帮助文件 357

疑难120 如何显示打开文件对话框 357

Application.GetOpenFilename方法 358

FileDialog对象 360

FileDialog对象的常用属性 360

使用FileDialog对象的属性Filters添加筛选 360

FileDialog对象的Show方法和Execute方法 361

遍历通过FileDialog对象选择的文件 361

Application.GetSaveAsFilename方法 361

Application.Dialog对象 361

第2节 练习与思考 361

第9章 控件和窗体的应用 362

第1节 控件的基础 362

疑难121 如何在工作表中插入ActiveX控件 362

ActiveX控件 362

Excel中常用的ActiveX控件 363

编辑ActiveX控件 363

通过代码访问ActiveX控件 364

工作表中窗体(表单)控件和ActiveX控件的区别 364

疑难122 如何更改ActiveX控件的属性 364

ActiveX控件的属性 365

疑难123 如何创建ActiveX控件的事件 365

ActiveX控件的事件 366

ActiveX控件的常用事件 366

疑难124 如何使用日期选择控件向单元格输入日期 367

DTPicker控件 368

DTPicker控件的时间和日期的切换 369

DTPicker控件的日期输入方式 369

DTPicker控件的Value属性与Change事件 369

使用DTPicker控件实现日期选择并赋值给单元格 369

注册DTPicker控件 370

疑难125 如何创建动态智能匹配的下拉列表 371

TextBox控件和ListBox控件 373

ListBox控件的ListFillRange属性和List属性 373

ListBox控件的多列显示 374

ListBox控件的值 374

模糊查询下拉列表 375

控件的选用 375

ListBox和ComboBox控件 375

疑难126 如何批量设置控件属性 376

CallByName函数 378

使用CallByName函数获取子对象 378

使用CallByName函数批量修改对象的属性 378

灵活使用自定义过程 378

第2节 窗体和控件的深入应用 379

疑难127 如何创建并显示窗体 379

窗体对象及其属性 380

窗体对象的显示与关闭 380

窗体对象的装载与显示 380

窗体对象的卸载与隐藏 381

窗体的显示模式 381

疑难128 如何在窗体中插入控件 381

控件工具栏 383

控件的顺序 383

控件的组合 384

疑难129 如何利用窗体向工作表中录入数据 385

窗体控件与工作表的交互 386

窗体的事件 387

窗体中Controls集合访问控件 388

控件的排列 388

使用控件数组进行赋值 388

疑难130 如何利用窗体创建实时筛选浮动工具栏 389

Default和Cancel按钮 392

提高单元格隐藏的速度 392

自制浮动工具栏 392

动态显示与隐藏窗体 393

疑难131 如何移动不同列表框中的项目 393

ListBox的AddItem方法和RemoveItem方法 397

ListBox控件的MultiSelect属性 397

ListBox控件的Value属性 398

ListBox控件的ListIndex属性 398

VBA实现ListBox项目的移动 398

疑难132 如何利用复合框制作工作簿/表导航 399

复合框(ComboBox)控件 400

利用复合框制作二级下拉列表 401

疑难133 如何利用窗体制作向导系统 401

多页(MultiPage)控件 403

多页控件的页面 403

使用代码更改当前显示的页面 404

Application.SheetsInNewWorkbook属性 404

疑难134 如 何创建具有窗体交互的函数 405

创建具有窗体交互的函数的步骤 407

ListBox控件的Selected属性 408

疑难135 如何利用窗体制作登录界面 408

使用窗体作为操作界面 410

隐藏Excel工作簿 411

疑难136 如何动态地创建控件以显示查询结果 411

使用代码为窗体添加控件 414

通过名称控件排列 414

使用类模块为按钮批量添加事件 415

疑难137 如何动态创建窗体 416

VBComponents集合 419

VBComponent对象 419

第3节 练习与思考 420

第10章 自定义功能区 421

第1节 自定义功能区实例 421

疑难138 如何添加选项卡和内置控件 421

功能区简介 423

使用Excel选项自定义功能区 423

疑难139 如何创建工作簿级的自定义选项卡 423

Excel工作簿的实质 426

XML简介 426

customUI.xml 428

常用的功能区控件及通用属性 428

tabs控件和tab控件 429

group控件 429

命令控件 429

内置控件的ID 430

customUI.xml中控件和属性的命名规则 430

使用customUIEditor工具制作选项卡 430

疑难140 如何在功能区添加按钮并运行VBA程序 432

回调(CallBack) 434

IRibbonControl对象 434

疑难141 如何动态更改功能区控件属性 434

动态属性 438

I RibbonUI对象和Invalidate方法 438

设置IRibbonUI对象 439

Invalidate的实质 439

疑难142 如何添加自定义功能区列表控件的选项 439

dropDown控件添加选项 442

dropDown控件的onAction属性 443

获取dropDown控件选中选项的另一个方法 443

疑难143 如何实现功能区控件之间的交互 444

切换按钮(toggleButton)控件的getPressed属性 447

切换按钮(toggleButton)控件的onAction属性 447

切换按钮之间的交互 447

条件筛选的自定义过程 448

第2节 练习与思考 448

第11章 程序的错误调试 449

疑难144 如何利用出错信息判断工作表是否存在 449

On Error语句 450

Err对象 451

“运行时错误”的利用 451

代码标签 451

疑难145 如何在中断模式下调试程序 452

中断模式 453

程序的测试 453

疑难146 如何逐句调试程序 453

逐句运行 454

疑难147 如何为程序设置断点调试程序 454

断点 455

疑难148 如何运用监视窗口监控变量的值 456

监视窗口 456

使用“立即窗口” 457

疑难149 如何自定义错误 457

Err对象的Raise方法 458

疑难150 如何进行程序出错的自动处理 459

处理错误的两种方式 460

Resume语句 461

第12章 综合开发实战 462

疑难151 如何制作通用工具 462

通用工具的主程序设计 468

使用加载宏制作通用工具 468

加载宏工具的安装 468

疑难152 如何建立调查及数据收集系统 469

复杂的多功能程序的设计 475

疑难153 如何建立简易的收发管理系统 475

设计微型数据管理系统 496

使用同一个窗体操作不同的数据表 496

类模块中定义过程和函数 496

返回顶部