<如果大家有好的源程序,欢迎您贴出来供分享,相信大家会感激您的。同时,您也可以对本贴中的程序进行评论和改进,也希望本贴中尽量不要跟一些与本主题无关的贴子> VBA程序集 (汇总)
VBA程序集的目的是尽可能汇集一些优秀的源程序代码和常用的示例代码,以方便对VBA的学习和查阅。在对程序源代码的阅读和研究过程中,随着您思考的深入,您将会逐渐熟悉VBA的语法和对象,从而不断提高VBA编程水平和技术。其中的一些代码可直接运用到您的应用程序中,也可以根据您的需要稍作调整或修改后运用到您的应用程序中。一小段代码也能附加额外的功能或增强现有的功能,或许能大大改善您的工作效率。 在各个程序中,对程序功能进行了简要介绍,并对相关程序代码进行说明,以及就个人的理解简要叙述了如何对该程序功能进行扩展和利用。这些程序代码后,大都附有示例工作簿可供下载后调试。
在使用程序前,您必须先创建它。您可以在VBE编辑器中输入或粘贴下面的代码以创建宏程序,然后执行工作表菜单“工具”中的宏程序,或者在工作表中为自定义的菜单或命令按钮附加宏,这样就可以方便使用它们。 1. 打开您想创建宏程序的工作簿或新工作簿。 2. 在工作表中选择菜单“工具——宏——Visual Basic编辑器”(或按Alt+F11组合键),打开VBE编辑器。 3. 在VBE编辑器中选择菜单“插入——模块”,插入一个模块并打开代码窗口。 4. 在代码窗口中输入或粘贴程序代码。 5. 关闭VBE窗口。 6. 若程序要求运行前需要选择单元格区域或特定单元格,则先按要求选择。 7. 选择工作表菜单“工具——宏——宏”命令,打开“宏”对话框。在“宏”对话框中选择所创建的宏,单击“执行”按钮运行宏程序。 提示 (1) 当然,上面的创建和使用程序的过程不是唯一的,您可以根据习惯来进行,如可以直接在VBE编辑器中运行宏,但需转换至工作表查看结果,或者将宏程序附加到自定义菜单或按钮中,点击它们即运行。 (2) 在阅读或理解这些程序的时候,您应该思考如何扩展这些应用程序来满足您的需要。
下面为以前收集整理的程序以及相应的链接: VBA程序集(第1辑) 程序1:关闭工作簿(1)关闭并保存工作簿;(2)关闭并彻底删除工作簿 程序2:计算工作表中已使用单元格的行数 程序3:对一列中所选择的数据进行排序并显示选中的单元格中数值的位置 程序4:在指定列中寻找字符串,并删除该字符串所在行 程序5:创建三维饼图 链接:http://club.excelhome.net/viewthread.php?tid=170691&replyID=&skin=0 VBA程序集(第2辑) 程序6:搜索值并输入到指定的工作表中 程序7:根据所搜索的值,在该值前插入行 程序8:复制单元格内容为工作表名的行至相应的工作表中 程序9:通过列表框/组合框,逐层分类 程序10:实现连续打印 链接:http://club.excelhome.net/viewthread.php?tid=172488&replyID=&skin=0 VBA程序集(第3辑) 程序11:将所选列中的数值转换成文本 程序12:根据列条件复制行到新的工作表中 链接:http://club.excelhome.net/viewthread.php?tid=173490&replyID=&skin=0 VBA程序集(第4辑) 程序13:根据列中的单元格值决定对该单元格所在行的操作 程序14:实现文本框输入焦点自动转移 程序15:创建对象集合并使用 程序16:在某列输入数据后,对应列自动添加代码 程序17:打开工作簿后只显示用户窗体 链接:http://club.excelhome.net/viewthread.php?tid=174169&replyID=&skin=0 VBA程序集(第5辑) 程序18:将Excel数据表输出为一个带有逗号和引号分隔符的文本文件 程序19:统计所选区域中包含公式、文本或数字的单元格数 程序20:使用Saved属性判断工作簿是否有改变 程序21:连接相邻两列单元格中的数据 程序22:汇总单元格区域的行单元格值和列单元格值 链接:http://club.excelhome.net/viewthread.php?tid=174960&replyID=&skin=0 VBA程序集(第6辑) 程序23:更改Excel工作表中左上角的图标 程序24:更改Excel工作簿中左上角的图标 程序25:移除Excel工作簿或工作表窗口中左上角的图标以及按钮 程序26:移除Excel工作簿和工作表窗口中左上角的图标以及按钮并定制菜单和工具栏 链接:http://club.excelhome.net/viewthread.php?tid=176055&replyID=&skin=0
下面为以后逐步收集归纳的程序(不断更新中......): 程序27:限制文本框中输入的内容(在第3楼) 程序28:列出所有的颜色和索引值(在第3楼) 程序29:合并单元格中的内容(在第3楼) 程序30:分离单元格中的内容(在第3楼) 程序31:自动安装加载宏(在第3楼) 程序32:在工作表中添加一个箭头(在第3楼) 程序33:提示用户所要进行的操作(在第3楼) 程序34:根据指定列中的数据隐藏相应的行(在第3楼) 程序35:创建一个固定宽度的文本文件(在第4楼) 程序36:生成并分解数组(在第5楼) 程序37:对给定的每个数据依次列出指定的次数(第6楼) 程序38:将前一个值作为批注显示(第8楼)
程序39:删除对其它工作表或工作簿的链接(第12楼) 程序40:工作表事件与OnTime方法示例(第13楼) 程序41:阻止工作表自动添加超链接(第15楼) 程序42:重新排列数据(第16楼) 程序43:在VBA中应用Match函数(第18楼) 程序44:对工作表进行排序(第21楼) 程序45:从筛选后的数据中创建数组(第22楼) 程序46:工作表列A的值改变时,重新排序(第23楼) 程序47:UCase函数的使用(第24楼) 程序48:阻止另存为命令的使用(第25楼) 程序49:阻止用户打印工作簿(第25楼) 程序50:阻止打印工作簿中的部分工作表(第25楼) 程序51:阻止用户在工作簿中添加新工作表(第25楼) 程序52:一个进度条示例(第27楼) 程序53:将公式结果转换为值(第29楼) 程序54:删除工作表中无内容的标题行所在的列(第36楼)
[此贴子已经被作者于2006-9-18 19:00:39编辑过] |