VBA常用技巧代码解析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VBA常用技巧代码解析
/thread-395683-1-1.html
大家在学习VBA的过程中,相信都有收集代码的习惯,我也是,硬盘中藏有许多VBA实例、代码,在去年《VBA精粹》的写作过程中更是在网络上收集了大量的VBA资料。

这些散布在各处的代码、实例对学习的帮助很大,但是查找起来很不方便,有时明明知道有某个例子,就是找不到,因此萌生了将这部分VBA资料进行整理的想法。

在写作《VBA精粹》一书时发现使用Word的[文档结构图]和[目录]的功能在查找资料时很方便,便使用《VBA精粹》的Word模板对资料进行了初步整理,计划用半年时间完成全部内容,目前已完成目录和第一部分内容,弊帚不敢自珍,将整理内容同步发在论坛上,希望对大家的学习有所帮助,也请大家指出其不足、错误之处。

在完成全部内容后我会将Word文档上传。

<Word文档及附件请到9楼下载,仅供EH会员学习交流之用,请勿传播,谢绝转载>
2009-2-10 10:59 上传
下载附件(99.08 KB)
声明上传的附件在XP+Excel2003环境中进行过测试,其他版本未经测试,不能保证代码运行正确。

部分代码出自论坛,有些已经找不到链接了,在此一并感谢原作者,在下面的内容中就不一一言明出处了。

[本帖最后由yuanzhuping 于2010-6-12 16:00 编辑]
第2部分 Worksheet(工作表)对象
技巧21 引用工作表的方式
21-1 使用工作表的名称 --103楼
21-2 使用工作表的索引号 --103楼
21-3 使用工作表的代码名称 --103楼
21-4 使用ActiveSheet属性引用活动工作表 --103楼
技巧22 选择工作表的方法 --110楼
技巧23 遍历工作表的方法
23-1 使用For...Next 语句 --113楼
23-2 使用For Each...Next 语句 --125楼
技巧24 在工作表中上下翻页 --126楼
技巧25 工作表的添加与删除 --144楼
技巧26 禁止删除指定工作表 --146楼
技巧27 自动建立工作表目录 --147楼
技巧28 工作表的深度隐藏 --153楼
技巧29 防止更改工作表的名称 --154楼
技巧30 工作表中一次插入多行 --156楼
技巧31 删除工作表中的空行 --157楼
技巧32 删除工作表的重复行 --161楼
技巧33 定位删除特定内容所在的行 --162楼
技巧34 判断是否选中整行 --163楼
技巧35 限制工作表的滚动区域 --167楼
技巧36 复制自动筛选后的数据区域 --170楼
技巧37 使用高级筛选获得不重复记录 --171楼
技巧38 工作表的保护与解除保护 --174楼
技巧39 奇偶页打印 --198楼
第2部分Worksheet(工作表)对象的Word文档和附件 --199楼
第4部分 Shape(图形)、Chart(图表)对象
技巧53 在工作表中添加图形 --291楼
技巧54 导出工作表中的图片 --296楼
技巧55 在工作表中添加艺术字 --302楼
技巧56 遍历工作表中的图形 --306楼
技巧57 移动、旋转图片 --311楼
技巧58 工作表中自动插入图片 --313楼
技巧59 固定工作表中图形的位置 --317楼
技巧60 使用VBA自动生成图表 --339楼
技巧61 使用独立窗口显示图表 --345楼
技巧62 导出工作表中的图表 --350楼
技巧63 多图表制作 --364楼
第4部分 Shape(图形)、Chart(图表)对象附件及1-4部分文档 --367楼第5部分 Application对象
技巧64 取得Microsoft Excel版本信息 --368楼
技巧65 取得当前用户名称 --369楼
技巧66 Excel中的“定时器” --370楼
技巧67 设置活动打印机的名称 --371楼
技巧68 屏蔽、改变组合键的功能 --378楼
技巧69 设置Excel窗口标题栏 --386楼
技巧70 自定义Excel状态栏 --387楼
技巧71 灵活退出Excel --393楼
技巧72 隐藏Excel主窗口
72-1 设置Application对象的Visible属性 --395楼72-2 将窗口移出屏幕 --395楼
72-3 设置工作簿作为加载宏运行 --395楼
第5部分 Application对象附件及1-5部分文档 --396楼
第6部分使用对话框
技巧73 使用Msgbox函数
73-1 显示简单的提示信息 --409楼
73-2 定制个性化的消息框 --409楼
73-3 获得消息框的返回值 --409楼
73-4 在消息框中排版 --409楼
73-5 对齐消息框中显示的信息 --409楼
技巧74 自动关闭的消息框
74-1 使用WshShell.Popup方法显示消息框 --411楼74-2 使用API函数显示消息框 --411楼
技巧75 使用InputBox函数
75-1 简单的数据输入 --413楼
75-2 使用对话框输入密码 --413楼
技巧76 使用InputBox方法
76-1 输入指定类型的数据 --421楼
76-2 获得单元格区域地址 --421楼
技巧77 使用对话框
77-1 调用内置的对话框 --440楼
77-2 获取选定文件的文件名 --440楼
77-3 使用“另存为”对话框 --440楼
技巧78 调用操作系统“关于”对话框 --444楼
第6部分使用对话框附件及1-6部分Word文档 --449楼
第7部分菜单和工具栏
技巧79 在菜单中添加菜单项 --467楼
技巧80 在菜单栏指定位置添加菜单 --468楼
技巧81 屏蔽和删除工作表菜单 --476楼
技巧82 改变系统菜单的操作 --477楼
技巧83 定制自己的系统菜单 --478楼
技巧84 改变菜单按钮图标 --489楼
技巧85 右键快捷菜单增加菜单项 --497楼
技巧86 自定义右键快捷菜单 --504楼
技巧87 使用右键菜单制作数据有效性 --505楼
技巧88 禁用工作表右键菜单 --506楼
技巧89 创建自定义工具栏 --518楼
技巧90 自定义工具栏按钮图标 --519楼
技巧91 自定义工作簿图标 --520楼
技巧92 移除工作表的最小最大化和关闭按钮 --530楼
技巧93 在工具栏上添加下拉列表框 --536楼
技巧94 屏蔽工作表的复制功能 --537楼
技巧95 禁用工具栏的自定义 --548楼
技巧96 屏蔽所有的命令栏 --559楼
技巧97 恢复Excel的命令栏 --560楼
第7部分菜单和工具栏附件及1-7部分Word文档 --562楼第8部分控件与用户窗体
技巧98 限制文本框的输入 --568楼
技巧99 文本框添加右键快捷菜单 --573楼
技巧100 文本框回车自动输入 --581楼
技巧101 自动选择文本框内容 --582楼
技巧102 设置文本框数据格式 --583楼
技巧103 限制文本框的输入长度 --584楼
技巧104 将光标返回文本框中 --619楼
技巧105 文本框的自动换行 --620楼
技巧106 多个文本框数据相加 --629楼
技巧107 控件跟随活动单元格 --630楼
技巧108 高亮显示按钮 --634楼
技巧109 组合框和列表框添加列表项的方法
109-1 使用RowSource属性添加列表项 --638楼
109-2 使用List属性添加列表项 --639楼
109-3 使用AddItem方法添加列表项 --640楼
技巧110 去除列表框数据源的重复值和空格 --642楼
技巧111 移动列表框条目 --642楼
技巧112 允许多项选择的列表框 --643楼
技巧113 多列组合框和列表框的设置
113-1 多列组合框和列表框添加列表项 --646楼
113-2 多列列表框写入工作表 --647楼
技巧114 输入时逐步提示信息 --679楼
技巧115 二级组合框 --694楼
技巧116 使用DTP控件输入日期 --698楼
技巧117 使用RefEdit控件选择区域 --707楼
技巧118 如何注册控件 --723楼
技巧119 遍历控件的方法
119-1 使用名称中的变量遍历控件 --730楼
119-2 使用对象类型遍历控件 --731楼
119-3 使用程序标识符遍历控件 --732楼
119-4 使用名称中的变量遍历图形 --733楼
119-5 使用FormControlType属性遍历图形 --734楼技巧120 使微调框最小变动量小于1 --736楼
技巧121 不打印工作表中的控件
121-1 设置控件格式 --737楼
121-2 设置控件的printobjcet属性 --737楼
技巧122 在框架中使用滚动条 --750楼
技巧123 使用多页控件 --757楼
技巧124 标签文字垂直居中对齐 --774楼
技巧125 使用TabStrip控件 --791楼
技巧126 显示GIF动画图片 --803楼
技巧127 播放Flash文件 --804楼
技巧128 在工作表中添加窗体控件
128-1 使用AddFormControl方法 --844楼
128-2 使用Add方法 --844楼
技巧129 在工作表中添加ActiveX控件
129-1 使用Add方法 --854楼
129-2 使用AddOLEObject方法 --854楼
技巧130 使用spreadsheet控件 --865楼
技巧131 使用Listview控件
131-1 使用Listview控件显示数据列表 --876楼131-2 在Listview控件中使用复选框 --887楼131-3 调整Listview控件的行距 --892楼
131-4 在Listview控件中排序 --901楼
131-5 Listview控件的图标设置 --908楼
技巧132 调用非模式窗体 --925楼
技巧133 进度条的制作
133-1 使用进度条控件 --926楼
133-2 使用标签控件 --927楼
技巧134 使用TreeView控件显示层次 --931楼
技巧135 用户窗体添加图标 --937楼
技巧136 用户窗体添加最大最小化按纽 --938楼
技巧137 禁用窗体标题栏的关闭按钮 --939楼
技巧138 屏蔽窗体标题栏的关闭按钮 --947楼
技巧139 无标题栏和边框的窗体 --948楼
技巧140 制作年月选择窗体 --950楼
技巧141 自定义窗体中的鼠标指针类型 --951楼
技巧142 调整窗体的显示位置 --959楼
技巧143 由鼠标确定窗体显示位 --960楼
技巧144 用户窗体的打印 --962楼
技巧145 使用自定义颜色设置窗体颜色 --963楼
技巧146 在窗体中显示图表
146-1 使用Export方法 --974楼
146-2 使用API函数 --974楼
技巧147 窗体运行时调整控件大小 --977楼
技巧148 在用户窗体上添加菜单 --987楼
技巧149 在用户窗体上添加工具栏 --994楼
技巧150 使用代码添加窗体及控件 --1009楼
1_8部分的Word文档和附件 --1014楼
技巧151 用户窗体的全屏显示
151-1 设置用户窗体为应用程序的大小 --1095楼 151-2 根据屏幕分辨率进行设置 --1095楼
技巧152 在用户窗体上添加状态栏 --1112楼
第9部分函数的使用
技巧153 调用工作表函数求和 --1117楼
技巧154 查找最大、最小值 --1122楼
技巧155 不重复值的录入 --1131楼
技巧156 获得当月的最后一天 --1135楼
技巧157 四舍五入运算
157-1 极小值修正法 --1144楼
157-2 调用工作表函数法 --1144楼
技巧158 使用字符串函数 --1148楼
技巧159 使用日期函数 --1153楼
技巧160 判断是否为数值 --1194楼
技巧161 格式化数值、日期和时间 --1200楼
技巧162 计算个人所得税 --1205楼
技巧163 人民币大写函数 --1215楼
技巧164 列号转换为列标 --1217楼
技巧165 判断工作表是否为空表 --1238楼
技巧166 查找指定工作表 --1240楼
技巧167 查找指定工作簿是否打开 --1242楼
技巧168 取得应用程序的安装路径 --1253楼
技巧169 数组的使用
169-1 代码运行时创建数组 --1271楼
169-2 文本转换为数组 --1271楼
169-3 使用动态数组去除重复值 --1271楼
1-9部分Word文档及附件 --1272楼
第10部分文件操作
技巧170 导入文本文件
170-1 使用查询表导入 --1290楼
170-2 使用Open 语句导入 --1290楼
170-3 使用OpenText方法 --1290楼
技巧171 将数据写入文本文件
171-1 使用Print # 语句 --1292楼
171-2 另存为文本文件 --1292楼
技巧172 文件修改的日期和时间 --1309楼
技巧173 查找文件或文件夹 --1321楼
技巧174 获得当前文件夹的名称 --1326楼
技巧175 创建和删除文件夹 --1339楼
技巧176 重命名文件或文件夹 --1340楼
技巧177 复制指定的文件 --1353楼
技巧178 删除指定的文件 --1357楼
技巧179 搜索特定的文件 --1359楼
技巧180 使用WSH处理文件
180-1 获取文件信息 --1373楼
180-2 查找文件 --1374楼
180-3 移动文件 --1375楼
180-4 复制文件 --1376楼
180-5 删除文件 --1377楼
180-6 创建文件夹 --1378楼
180-7 复制文件夹 --1379楼
180-8 移动文件夹 --1383楼
180-9 删除文件夹 --1384楼
180-10 导入文本文件 --1388楼
180-11 创建文本文件 --1396楼
1-10部分Word文档及附件 --1399楼
第11部分其他应用
技巧181 取得电脑名称 --1423楼
技巧182 取得逻辑盘序列号 --1425楼
技巧183 使用API取得硬盘信息 --1426楼
技巧184 使用数字签名 --1427楼
技巧185 暂停代码的运行 --1437楼
技巧186 定时关机 --1444楼
技巧187 打开指定的网页 --1445楼
技巧188 VBE的操作
188-1 添加模块和过程 --1463楼
188-2 建立事件过程 --1464楼
188-3 模块的导入与导出 --1479楼
188-4 删除宏代码 --1499楼
技巧189 保护VBA代码
189-1 设置工程密码 --1510楼
189-2 设置“工程不可查看” --1510楼
技巧190 优化代码
190-1 关闭屏幕刷新 --1515楼
190-2 使用工作表函数 --1516楼
190-3 使用更快的单元格操作方法 --1518楼 190-4 使用With语句引用对象 --1522楼
190-5 少用激活或选择语句 --1523楼
技巧191 取得文件的基本名称 --1526楼
技巧192 防止用户中断代码运行 --1542楼
技巧193 加班费计算表 --1582楼
技巧194 制作发放条 --1595楼
技巧195 费用统计表 --1598楼
技巧196 职工花名册 --1588楼
技巧197 收据系统 --1642楼
技巧198 职工考勤系统 --1967楼
2009-9-7 更新
文档,请下载完全部压缩文件后一起解压缩。

VBA常用技巧.part01.rar(1.91 MB, 下载次数: 128801)
VBA常用技巧.part02.rar(1.91 MB, 下载次数: 118682)
VBA常用技巧.part03.rar(1.91 MB, 下载次数: 122238)
VBA常用技巧.part04.rar(1.91 MB, 下载次数: 119909)
VBA常用技巧.part05.rar(1.91 MB, 下载次数: 117428)
VBA常用技巧.part06.rar(768.18 KB, 下载次数: 94109)
附件,请下载完全部压缩文件后一起解压缩。

示例文件.part01.rar(1.91 MB, 下载次数: 9379)
[ 示例文件.part02.rar(1.91 MB, 下载次数: 57993)
示例文件.part03.rar(1.91 MB, 下载次数: 51028)
示例文件.part04.rar(1.4 MB, 下载次数: 48475)
鉴于示例文件1经常出错导致不能下载,请大家到此处下载:/html/20100624/217105252.ht
ml
感谢ybzdexcel 兄整理制作了电子书,请到/viewth ... p;page=1#pid3482982下载
根据此贴内容并以2007版本重新整理的《Excel VBA 常用代码实战大全》一书已由北京工业出版社出版,喜欢纸质书的朋友可去新华书店或各大网站订购。

(呵呵,做个小小广告)
第1部分Range(单元格)对象
Range对象是Excel应用程序中最常用的对象,一个Range对象代表一个单元格、一行、一列、包含一个或者更多单元格区域(可以是连续的单元格,也可以是不连续的单元格)中选定的单元格,甚至是多个工作表上的一组单元格,在操作Excel 内的任何区域之前都需要将其表示为一个Range对象,然后使用该Range对象的方法和属性。

技巧1 单元格的引用方法
在VBA中经常需要引用单元格或单元格区域区域,主要有以下几种方法。

1-1 使用Range属性
VBA中可以使用Range属性返回单元格或单元格区域,如下面的代码所示。

普通浏览复制代码
1.#001 Sub RngSelect()
2.#002 Sheet1.Range("A3:F6, B1:C5").Select
3.#003 End Sub
代码解析:
RangeSelect过程使用Select方法选中A3:F6,B1:C5单元格区域。

Range属性返回一个Range对象,该对象代表一个单元格或单元格区域,语法如下:Range(Cell1, Cell2)
参数Cell1是必需的,必须为A1 样式引用的宏语言,可包括区域操作符(冒号)、相交区域操作符(空格)或合并区域操作符(逗号)。

也可包括美元符号(即绝对地址,如“$A$1”)。

可在区域中任一部分使用局部定义名称,如Range("B2:LastCell"),其中LastCell 为已定义的单元格区域名称。

参数Cell2是可选的,区域左上角和右下角的单元格。

运行RangeSelect过程,选中A3:F6, B1:C5单元格区域,如图所示。

相关文档
最新文档