VBA常用技巧解析
119-5 技巧120 技巧121
121-1 121-2 技巧122 技巧123 技巧124 技巧125 技巧126 技巧127 技巧128
128-1 128-2 技巧129
129-1 129-2 技巧130 技巧131
131-1 131-2 131-3 131-4 131-5 技巧132 技巧133
133-1 133-2 技巧134 技巧135 技巧136 技巧137 技巧138 技巧139 技巧140 技巧141 技巧142 技巧143 技巧144 技巧145 技巧146
146-1 146-2 技巧147 使用FormControlType属性遍历图形 --------------------------------------- 284 使微调框最小变动量小于1 ----------------------------------------------------- 285 不打印工作表中的控件 ---------------------------------------------------------- 287 设置控件格式 --------------------------------------------------------------------- 287 设置控件的printobjcet属性 --------------------------------------------------- 289 在框架中使用滚动条 ------------------------------------------------------------- 289 使用多页控件 ----------------------------------------------------------------------- 291 标签文字垂直居中对齐 ---------------------------------------------------------- 293 使用TabStrip控件 ----------------------------------------------------------------- 295 显示GIF动画图片 ---------------------------------------------------------------- 297 播放Flash文件 --------------------------------------------------------------------- 300 在工作表中添加窗体控件 ------------------------------------------------------- 302 使用AddFormControl方法 ---------------------------------------------------- 303 使用Add方法 -------------------------------------------------------------------- 305 在工作表中添加ActiveX控件 ------------------------------------------------- 307 使用Add方法 -------------------------------------------------------------------- 308 使用AddOLEObject方法 ------------------------------------------------------ 310 使用spreadsheet控件 ------------------------------------------------------------- 311 使用Listview控件 ----------------------------------------------------------------- 314 使用Listview控件显示数据列表 -------------------------------------------- 314 在Listview控件中使用复选框 ----------------------------------------------- 317 调整Listview控件的行距 ----------------------------------------------------- 319 在Listview控件中排序 --------------------------------------------------------- 322 Listview控件的图标设置 ------------------------------------------------------- 323 调用非模式窗体 -------------------------------------------------------------------- 326 进度条的制作 ----------------------------------------------------------------------- 328 使用进度条控件 ------------------------------------------------------------------ 328 使用标签控件 --------------------------------------------------------------------- 330 使用TreeView控件显示层次 --------------------------------------------------- 333 用户窗体添加图标 ----------------------------------------------------------------- 337 用户窗体添加最大最小化按纽 ------------------------------------------------- 339 禁用窗体标题栏的关闭按钮 ---------------------------------------------------- 340 屏蔽窗体标题栏的关闭按钮 ---------------------------------------------------- 341 无标题栏和边框的窗体 ---------------------------------------------------------- 343 制作年月选择窗体 ----------------------------------------------------------------- 344 自定义窗体中的鼠标指针类型 ------------------------------------------------- 347 调整窗体的显示位置 ------------------------------------------------------------- 348 由鼠标确定窗体显示位置 ------------------------------------------------------- 350 用户窗体的打印 -------------------------------------------------------------------- 351 使用自定义颜色设置窗体颜色 ------------------------------------------------- 353 在窗体中显示图表 ----------------------------------------------------------------- 354 使用Export方法 ----------------------------------------------------------------- 354 使用API函数 --------------------------------------------------------------------- 356 窗体运行时调整控件大小 ------------------------------------------------------- 357
6
VBA常用技巧解析
技巧148 在用户窗体上添加菜单 ---------------------------------------------------------- 360 技巧149 在用户窗体上添加工具栏 ------------------------------------------------------- 364 技巧150 使用代码添加窗体及控件 ------------------------------------------------------- 369 技巧151 用户窗体的全屏显示 ------------------------------------------------------------- 375
151-1 设置用户窗体为应用程序的大小 -------------------------------------------- 375 151-2 根据屏幕分辨率进行设置 ----------------------------------------------------- 376 技巧152 在用户窗体上添加状态栏 ------------------------------------------------------- 377 第9章 函数的使用 -------------------------------------------------------------------------------- 381
技巧153 调用工作表函数求和 ------------------------------------------------------------- 381 技巧154 查找最大、最小值 ----------------------------------------------------------------- 381 技巧155 不重复值的录入 -------------------------------------------------------------------- 383 技巧156 获得当月的最后一天 ------------------------------------------------------------- 385 技巧157 四舍五入运算 ----------------------------------------------------------------------- 386
157-1 极小值修正法 --------------------------------------------------------------------- 386 157-2 调用工作表函数法 --------------------------------------------------------------- 387 技巧158 使用字符串函数 -------------------------------------------------------------------- 387 技巧159 使用日期函数 ----------------------------------------------------------------------- 389 技巧160 判断是否为数值 -------------------------------------------------------------------- 393 技巧161 格式化数值、日期和时间 ------------------------------------------------------- 394 技巧162 个人所得税自定义函数 ---------------------------------------------------------- 396 技巧163 人民币大写函数 -------------------------------------------------------------------- 398 技巧164 列号转换为列标 -------------------------------------------------------------------- 400 技巧165 判断工作表是否为空表 ---------------------------------------------------------- 401 技巧166 查找指定工作表 -------------------------------------------------------------------- 402 技巧167 查找指定工作簿是否打开 ------------------------------------------------------- 404 技巧168 取得应用程序的安装路径 ------------------------------------------------------- 404 技巧169 数组的使用 -------------------------------------------------------------------------- 406
169-1 代码运行时创建数组 ------------------------------------------------------------ 406 169-2 文本转换为数组 ------------------------------------------------------------------ 407 169-3 使用动态数组去除重复值 ----------------------------------------------------- 409
第10章 文件操作 ----------------------------------------------------------------------------------- 412
技巧170 导入文本文件 ----------------------------------------------------------------------- 412
170-1 使用查询表导入 ------------------------------------------------------------------ 412 170-2 使用Open 语句导入 ------------------------------------------------------------ 413 170-3 使用OpenText方法 ------------------------------------------------------------- 415 技巧171 将数据写入文本文件 ------------------------------------------------------------- 416
171-1 使用Print # 语句 ----------------------------------------------------------------- 416 171-2 另存为文本文件 ------------------------------------------------------------------ 418 技巧172 文件修改的日期和时间 ---------------------------------------------------------- 419 技巧173 查找文件或文件夹 ----------------------------------------------------------------- 420 技巧174 获得当前文件夹的名称 ---------------------------------------------------------- 422 技巧175 创建和删除文件夹 ----------------------------------------------------------------- 422 技巧176 重命名文件或文件夹 ------------------------------------------------------------- 423 技巧177 复制指定的文件 -------------------------------------------------------------------- 424
7
VBA常用技巧解析
技巧178 删除指定的文件 -------------------------------------------------------------------- 425 技巧179 搜索特定的文件 -------------------------------------------------------------------- 426 技巧180 使用WSH处理文件 -------------------------------------------------------------- 428
180-1 获取文件信息 --------------------------------------------------------------------- 428 180-2 查找文件 --------------------------------------------------------------------------- 430 180-3 移动文件 --------------------------------------------------------------------------- 431 180-4 复制文件 --------------------------------------------------------------------------- 431 180-5 删除文件 --------------------------------------------------------------------------- 432 180-6 创建文件夹 ------------------------------------------------------------------------ 433 180-7 复制文件夹 ------------------------------------------------------------------------ 434 180-8 移动文件夹 ------------------------------------------------------------------------ 435 180-9 删除文件夹 ------------------------------------------------------------------------ 435 180-10 导入文本文件-------------------------------------------------------------------- 436 180-11 创建文本文件 -------------------------------------------------------------------- 438
第11章 其他应用 ----------------------------------------------------------------------------------- 441
技巧181 取得电脑名称 ----------------------------------------------------------------------- 441 技巧182 取得逻辑盘序列号 ----------------------------------------------------------------- 442 技巧183 使用API取得硬盘信息 ---------------------------------------------------------- 443 技巧184 使用数字签名 ----------------------------------------------------------------------- 444 技巧185 暂停代码的运行 -------------------------------------------------------------------- 449 技巧186 定时关机 ----------------------------------------------------------------------------- 450 技巧187 打开指定的网页 -------------------------------------------------------------------- 451 技巧188 VBE的操作 -------------------------------------------------------------------------- 452
188-1 添加模块和过程 ------------------------------------------------------------------ 452 188-2 建立事件过程 --------------------------------------------------------------------- 454 188-3 模块的导入与导出 --------------------------------------------------------------- 456 188-4 删除宏代码 ------------------------------------------------------------------------ 457 技巧189 保护VBA代码 --------------------------------------------------------------------- 459
189-1 设置工程密码 --------------------------------------------------------------------- 459 189-2 设置“工程不可查看” --------------------------------------------------------- 460 技巧190 优化代码 ----------------------------------------------------------------------------- 462
190-1 关闭屏幕刷新 --------------------------------------------------------------------- 462 190-2 使用工作表函数 ------------------------------------------------------------------ 464 190-3 使用更快的单元格操作方法 -------------------------------------------------- 465 190-4 使用With语句引用对象 ------------------------------------------------------- 466 190-5 少用激活或选择语句 ------------------------------------------------------------ 468 技巧191 取得文件的基本名称 ------------------------------------------------------------- 469 技巧192 防止用户中断代码运行 ---------------------------------------------------------- 470 技巧193 加班费计算表 ----------------------------------------------------------------------- 472 技巧194 制作发放条 -------------------------------------------------------------------------- 498 技巧195 费用统计表 -------------------------------------------------------------------------- 501 技巧196 职工花名册 -------------------------------------------------------------------------- 516 技巧197 收据系统 ----------------------------------------------------------------------------- 529
8
VBA常用技巧解析
9
VBA常用技巧解析
第1章 Range(单元格)对象
Range对象是Excel应用程序中最常用的对象,一个Range对象代表一个单元格、一行、一列、包含一个或者更多单元格区域(可以是连续的单元格,也可以是不连续的单元格)中选定的单元格,甚至是多个工作表上的一组单元格,在操作Excel 内的任何区域之前都需要将其表示为一个Range对象,然后使用该Range对象的方法和属性。
技巧1 单元格的引用方法
在VBA中经常需要引用单元格或单元格区域区域,主要有以下几种方法。
1-1 使用Range属性
VBA中可以使用Range属性返回单元格或单元格区域,如下面的代码所示。
#001 Sub RngSelect()
#002 Sheet1.Range(\#003 End Sub
代码解析:
RngSelect过程使用Select方法选中A3:F6,B1:C5单元格区域。
Range属性返回一个Range对象,该对象代表一个单元格或单元格区域,语法如下:
Range(Cell1, Cell2)
参数Cell1是必需的,必须为 A1 样式引用的宏语言,可包括区域操作符(冒号)、相交区域操作符(空格)或合并区域操作符(逗号)。也可包括美元符号(即绝对地址,如“$A$1”)。可在区域中任一部分使用局部定义名称,如Range(\,其中LastCell为已定义的单元格区域名称。
参数Cell2是可选的,区域左上角和右下角的单元格。
运行Sub RngSelect过程,选中A3:F6, B1:C5单元格区域,如图 1-1所示。
10