Excel VBA_类代码实例集锦教案资料
EcelVBA编程实例(150例)

ExcelVBA编程实例(150例)主要内容和特点《ExcelVBA编程入门范例》主要是以一些基础而简短的VBA实例来对ExcelV BA中的常用对象及其属性和方法进行讲解,包括应用程序对象、窗口、工作簿、工作表、单元格和单元格区域、图表、数据透视表、形状、控件、菜单和工具栏、帮助助手、格式化操作、文件操作、以及常用方法和函数及技巧等方面的应用示例。
这些例子都比较基础,很容易理解,因而,很容易调试并得以实现,让您通过具体的实例来熟悉ExcelVBA编程。
■ 分16章共14个专题,以具体实例来对大多数常用的ExcelVBA对象进行讲解;■ 一般而言,每个实例都很简短,用来说明使用VBA实现Excel某一功能的操作;■ 各章内容主要是实例,即VBA代码,配以简短的说明,有些例子可能配以必要的图片,以便于理解;■ 您可以对这些实例进行扩充或组合,以实现您想要的功能或更复杂的操作。
VBE编辑器及VBA代码输入和调试的基本知识在学习这些实例的过程中,最好自已动手将它们输入到VBE编辑器中调试运行,来查看它们的结果。
当然,您可以偷赖,将它们复制/粘贴到代码编辑窗口后,进行调试运行。
下面,对VBE编辑器界面进行介绍,并对VBA代码输入和调试的基本知识进行简单的讲解。
激活VBE编辑器一般可以使用以下三种方式来打开VBE编辑器:■ 使用工作表菜单“工具——宏——Visual Basic编辑器”命令,如图00-01所示;■ 在Visual Basic工具栏上,按“Visual Basic编辑器”按钮,如图00-02所示;■ 按Alt+F11组合键。
图00-01:选择菜单“工具——宏——Visual Basic编辑器”命令来打开VBE编辑器图00-02:选择Visual Basic工具栏上的“Visual Basic编辑器”命令按钮来打开VBE编辑器此外,您也可以使用下面三种方式打开VBE编辑器:■ 在任一工作表标签上单击鼠标右键,在弹出的菜单中选择“查看代码”,则可进入VBE编辑器访问该工作表的代码模块,如图00-03所示;■ 在工作簿窗口左上角的Excel图标上单击鼠标右键,在弹出的菜单中选择“查看代码”,则可进入VBE编辑器访问活动工作簿的ThisWorkbook代码模块,如图00-04所示;■ 选择菜单“工具——宏——宏”命令打开宏对话框,若该工作簿中有宏程序,则单击该对话框中的“编辑”按钮即可进行VBE编辑器代码模块,如图00-05所示。
EXCELVBA常用代码实战大全共393页word资料

VBA常用技巧代码解析 yuanzhuping1VBAVBAVBAVBA常用常用常用常用技巧技巧技巧技巧目录目录目录目录VBAVBAVBAVBA常用技巧常用技巧常用技巧常用技巧 ------------------------------------------------------------------------------------------------------- 1第1章 Range(单元格)对象 -------------------------------------------------------------------- 10技巧1 单元格的引用方法 ---------------------------------------------------------------------- 101-1 使用Range属性 ----------------------------------------------------------------------- 101-2 使用Cells属性 ------------------------------------------------------------------------ 111-3 使用快捷记号 -------------------------------------------------------------------------- 111-4 使用Offset属性 ----------------------------------------------------------------------- 121-5 使用Resize属性 ----------------------------------------------------------------------- 131-6 使用Union方法 ----------------------------------------------------------------------- 141-7 使用UsedRange属性 ---------------------------------------------------------------- 141-8 使用CurrentRegion属性 ------------------------------------------------------------ 15技巧2 选定单元格区域的方法---------------------------------------------------------------- 152-1 使用Select方法 ----------------------------------------------------------------------- 152-2 使用Activate方法 -------------------------------------------------------------------- 162-3 使用Goto方法 ------------------------------------------------------------------------- 17技巧3 获得指定行、列中的最后一个非空单元格 -------------------------------------- 17技巧4 定位单元格 ------------------------------------------------------------------------------- 20技巧5 查找单元格 ------------------------------------------------------------------------------- 215-1 使用Find方法 ------------------------------------------------------------------------- 215-2 使用Like运算符 ---------------------------------------------------------------------- 25技巧6 替换单元格内字符串 ------------------------------------------------------------------- 26技巧7 复制单元格区域 ------------------------------------------------------------------------- 27技巧8 仅复制数值到另一区域---------------------------------------------------------------- 308-1 使用选择性粘贴 ----------------------------------------------------------------------- 308-2 直接赋值的方法 ----------------------------------------------------------------------- 31技巧9 单元格自动进入编辑状态 ------------------------------------------------------------ 32技巧10 禁用单元格拖放功能 ----------------------------------------------------------------- 32技巧11 单元格格式操作 ----------------------------------------------------------------------- 3311-1 单元格字体格式设置 --------------------------------------------------------------- 3311-2 设置单元格内部格式 --------------------------------------------------------------- 3511-3 为单元格区域添加边框 ------------------------------------------------------------ 3611-4 灵活设置单元格的行高列宽 ------------------------------------------------------ 38技巧12 单元格中的数据有效性 -------------------------------------------------------------- 3912-1 在单元格中建立数据有效性 ------------------------------------------------------ 3912-2 判断单元格是否存在数据有效性 ------------------------------------------------ 4112-3 动态的数据有效性 ------------------------------------------------------------------ 4112-4 自动展开数据有效性下拉列表 --------------------------------------------------- 43技巧13 单元格中的公式 ----------------------------------------------------------------------- 44 VBA常用技巧代码解析yuanzhuping213-1在单元格中写入公式 --------------------------------------------------------------- 4413-2 检查单元格是否含有公式 --------------------------------------------------------- 4513-3 判断单元格公式是否存在错误 --------------------------------------------------- 4613-4 取得单元格中公式的引用单元格 ------------------------------------------------ 4713-5 将单元格中的公式转换为数值 --------------------------------------------------- 48技巧14 单元格中的批注 ----------------------------------------------------------------------- 4914-1 判断单元格是否存在批注 --------------------------------------------------------- 4914-2 为单元格添加批注 ------------------------------------------------------------------ 5014-3 删除单元格中的批注 --------------------------------------------------------------- 51技巧15 合并单元格操作 ----------------------------------------------------------------------- 5215-1 判断单元格区域是否存在合并单元格 ----------------------------------------- 5215-2 合并单元格时连接每个单元格的文本 ----------------------------------------- 5315-3 合并内容相同的连续单元格 ------------------------------------------------------ 5415-4 取消合并单元格时在每个单元格中保留内容 -------------------------------- 56技巧16 高亮显示单元格区域 ----------------------------------------------------------------- 57技巧17 双击被保护单元格时不显示提示消息框 ---------------------------------------- 58技巧18 重新计算工作表指定区域 ----------------------------------------------------------- 60技巧19 录入数据后单元格自动保护 -------------------------------------------------------- 60技巧20 工作表事件Target参数的使用方法 ---------------------------------------------- 6220-1 使用单元格的Address 属性 ------------------------------------------------------ 6220-2 使用Column属性和Row属性 -------------------------------------------------- 6320-3 使用Intersect方法 ------------------------------------------------------------------- 63第2章 Worksheet(工作表)对象 --------------------------------------------------------------- 65技巧21 引用工作表的方式 -------------------------------------------------------------------- 6521-1 使用工作表的名称 ------------------------------------------------------------------ 6521-2 使用工作表的索引号 --------------------------------------------------------------- 6521-3 使用工作表的代码名称 ------------------------------------------------------------ 6621-4 使用ActiveSheet属性引用活动工作表 ---------------------------------------- 66技巧22 选择工作表的方法 -------------------------------------------------------------------- 67技巧23 遍历工作表的方法 -------------------------------------------------------------------- 6823-1 使用For...Next 语句 ---------------------------------------------------------------- 6823-2 使用For Each...Next 语句 --------------------------------------------------------- 70技巧24 在工作表中上下翻页 ----------------------------------------------------------------- 71技巧25 工作表的添加与删除 ----------------------------------------------------------------- 72技巧26 禁止删除指定工作表 ----------------------------------------------------------------- 76技巧27 自动建立工作表目录 ----------------------------------------------------------------- 78技巧28 工作表的深度隐藏 -------------------------------------------------------------------- 80技巧29 防止更改工作表的名称 -------------------------------------------------------------- 82技巧30 工作表中一次插入多行 -------------------------------------------------------------- 83技巧31 删除工作表中的空行 ----------------------------------------------------------------- 84技巧32 删除工作表的重复行 ----------------------------------------------------------------- 86技巧33 定位删除特定内容所在的行 -------------------------------------------------------- 88技巧34 判断是否选中整行 -------------------------------------------------------------------- 89技巧35 限制工作表的滚动区域 -------------------------------------------------------------- 90 VBA常用技巧代码解析yuanzhuping3技巧36 复制自动筛选后的数据区域 -------------------------------------------------------- 91技巧37 使用高级筛选获得不重复记录 ----------------------------------------------------- 93技巧38 工作表的保护与解除保护 ----------------------------------------------------------- 94技巧39 奇偶页打印 ------------------------------------------------------------------------------ 97第3章 Wordbook(工作簿)对象 --------------------------------------------------------------- 99技巧40 工作簿的引用方法 -------------------------------------------------------------------- 9940-1 使用工作簿的名称 ------------------------------------------------------------------ 9940-2 使用工作簿的索引号 --------------------------------------------------------------- 9940-3 使用ThisWorkbook ---------------------------------------------------------------- 10040-4 使用ActiveWorkbook ------------------------------------------------------------- 101技巧41 新建工作簿文件 --------------------------------------------------------------------- 101技巧42 打开指定的工作簿 ------------------------------------------------------------------ 103技巧43 判断指定工作簿是否打开 --------------------------------------------------------- 10643-1 遍历Workbooks集合方法 ------------------------------------------------------- 10643-2 错误处理方法 ----------------------------------------------------------------------- 106技巧44 禁用宏则关闭工作簿 --------------------------------------------------------------- 107技巧45 关闭工作簿不显示保存对话框 --------------------------------------------------- 11145-1 使用Close方法关闭工作簿 ----------------------------------------------------- 11145-2 单击工作簿关闭按钮关闭工作簿 ---------------------------------------------- 113技巧46 禁用工作簿的关闭按钮 ------------------------------------------------------------ 113技巧47 保存工作簿的方法 ------------------------------------------------------------------ 11547-1 使用Save方法 --------------------------------------------------------------------- 11547-2 直接保存为另一文件名 ---------------------------------------------------------- 11547-3 保存工作簿副本 ------------------------------------------------------------------- 115技巧48 保存指定工作表为工作簿文件 --------------------------------------------------- 116技巧49 打印预览时不触发事件 ------------------------------------------------------------ 118技巧50 设置工作簿文档属性信息 --------------------------------------------------------- 120技巧51 不打开工作簿取得其他工作簿数据 -------------------------------------------- 12151-1 使用公式 ----------------------------------------------------------------------------- 12151-2 使用GetObject函数 -------------------------------------------------------------- 12251-3 隐藏Application对象 ------------------------------------------------------------- 12351-4 使用ExecuteExcel4Macro方法 ------------------------------------------------ 12451-5 使用SQL连接 --------------------------------------------------------------------- 125技巧52 返回窗口的可视区域地址 --------------------------------------------------------- 126第4章 Shape(图形)、Chart(图表)对象 ------------------------------------------------ 128技巧53 在工作表中添加图形 --------------------------------------------------------------- 128技巧54 导出工作表中的图片 --------------------------------------------------------------- 133技巧55 在工作表中添加艺术字 ------------------------------------------------------------ 135技巧56 遍历工作表中的图形 --------------------------------------------------------------- 137技巧57 移动、旋转图片 --------------------------------------------------------------------- 139技巧58 工作表中自动插入图片 ------------------------------------------------------------ 140技巧59 固定工作表中图形的位置 --------------------------------------------------------- 143技巧60 使用VBA自动生成图表 ---------------------------------------------------------- 145技巧61 使用独立窗口显示图表 ------------------------------------------------------------ 149 VBA常用技巧代码解析yuanzhuping4技巧62 导出工作表中的图表 --------------------------------------------------------------- 150技巧63 多图表制作 ---------------------------------------------------------------------------- 151第5章 Application对象 -------------------------------------------------------------------------- 155技巧64 取得Excel版本信息 ---------------------------------------------------------------- 155技巧65 取得当前用户名称 ------------------------------------------------------------------ 156技巧66 Excel中的“定时器” -------------------------------------------------------------- 156技巧67 设置活动打印机的名称 ------------------------------------------------------------ 158技巧68 屏蔽、改变组合键的功能 --------------------------------------------------------- 159技巧69 设置Excel窗口标题栏 ------------------------------------------------------------- 160技巧70 自定义Excel状态栏 ---------------------------------------------------------------- 161技巧71 灵活退出Excel ----------------------------------------------------------------------- 162技巧72 隐藏Excel主窗口 ------------------------------------------------------------------- 16372-1 设置Application对象的Visible属性 ----------------------------------------- 16372-2 将窗口移出屏幕 ------------------------------------------------------------------- 16472-3 设置工作簿作为加载宏运行 ---------------------------------------------------- 165第6章使用对话框 -------------------------------------------------------------------------------- 167技巧73 使用Msgbox函数 ------------------------------------------------------------------- 16773-1 显示简单的提示信息 ------------------------------------------------------------- 16773-2 定制个性化的消息框 ------------------------------------------------------------- 16873-3 获得消息框的返回值 ------------------------------------------------------------- 16973-4 在消息框中排版 ------------------------------------------------------------------- 17173-5 对齐消息框中显示的信息 ------------------------------------------------------- 172技巧74 自动关闭的消息框 ------------------------------------------------------------------ 17474-1 使用WshShell.Popup方法显示消息框 --------------------------------------- 17474-2 使用API函数显示消息框 ------------------------------------------------------- 175技巧75 使用InputBox函数 ----------------------------------------------------------------- 17675-1 简单的数据输入 ------------------------------------------------------------------- 17675-2 使用对话框输入密码 ------------------------------------------------------------- 178技巧76 使用InputBox方法 ----------------------------------------------------------------- 18076-1 输入指定类型的数据 ------------------------------------------------------------- 18076-2 获得单元格区域地址 ------------------------------------------------------------- 182技巧77 内置对话框 ---------------------------------------------------------------------------- 18377-1 调用内置的对话框 ---------------------------------------------------------------- 18377-2 获取选定文件的文件名 ---------------------------------------------------------- 18677-3 使用“另存为”对话框 ---------------------------------------------------------- 188技巧78 调用操作系统“关于”对话框 ------------------------------------------------------ 190第7章菜单和工具栏 ----------------------------------------------------------------------------- 192技巧79 在菜单中添加菜单项 --------------------------------------------------------------- 192技巧80 在菜单栏指定位置添加菜单 ------------------------------------------------------ 195技巧81 屏蔽和删除工作表菜单 ------------------------------------------------------------ 197技巧82 改变系统菜单的操作 --------------------------------------------------------------- 198技巧83 定制自己的系统菜单 --------------------------------------------------------------- 199技巧84 改变菜单按钮图标 ------------------------------------------------------------------ 205技巧85 右键快捷菜单增加菜单项 --------------------------------------------------------- 206 VBA常用技巧代码解析yuanzhuping5技巧86 自定义右键快捷菜单 --------------------------------------------------------------- 207技巧87 使用右键菜单制作数据有效性 --------------------------------------------------- 210技巧88 禁用工作表右键菜单 --------------------------------------------------------------- 212技巧89 创建自定义工具栏 ------------------------------------------------------------------ 213技巧90 自定义工具栏按钮图标 ------------------------------------------------------------ 216技巧91 自定义工作簿图标 ------------------------------------------------------------------ 217技巧92 移除工作表的最小最大化和关闭按钮 ----------------------------------------- 218技巧93 在工具栏上添加下拉列表框 ------------------------------------------------------ 219技巧94 屏蔽工作表的复制功能 ------------------------------------------------------------ 221技巧95 禁用工具栏的自定义 --------------------------------------------------------------- 222技巧96 屏蔽所有的命令栏 ------------------------------------------------------------------ 225技巧97 恢复Excel的命令栏 ---------------------------------------------------------------- 226第8章控件与用户窗体 -------------------------------------------------------------------------- 228技巧98 限制文本框的输入 ------------------------------------------------------------------ 228技巧99 文本框添加右键快捷菜单 --------------------------------------------------------- 230技巧100 文本框回车自动输入 ------------------------------------------------------------- 234技巧101 自动选择文本框内容 ------------------------------------------------------------- 235技巧102 设置文本框数据格式 ------------------------------------------------------------- 236技巧103 限制文本框的输入长度 ---------------------------------------------------------- 238技巧104 将光标返回文本框中 ------------------------------------------------------------- 239技巧105 文本框的自动换行 ----------------------------------------------------------------- 241技巧106 多个文本框数据相加 ------------------------------------------------------------- 243技巧107 控件跟随活动单元格 ------------------------------------------------------------- 244技巧108 高亮显示按钮 ----------------------------------------------------------------------- 245技巧109 组合框和列表框添加列表项的方法 ------------------------------------------- 247109-1 使用RowSource属性添加列表项 -------------------------------------------- 247109-2 使用List属性添加列表项 ----------------------------------------------------- 248109-3 使用AddItem方法添加列表项 ----------------------------------------------- 249技巧110 去除列表框数据源的重复值和空格 ------------------------------------------- 251技巧111 移动列表框条目 -------------------------------------------------------------------- 253技巧112 允许多项选择的列表框----------------------------------------------------------- 256技巧113 多列组合框和列表框的设置 ---------------------------------------------------- 259113-1 多列组合框和列表框添加列表项 -------------------------------------------- 259113-2 多列列表框写入工作表 --------------------------------------------------------- 261技巧114 输入时逐步提示信息 -------------------------------------------------------------- 263技巧115 二级组合框 -------------------------------------------------------------------------- 270技巧116 使用DTP控件输入日期 --------------------------------------------------------- 272技巧117 使用RefEdit控件选择区域 ----------------------------------------------------- 275技巧118 如何注册控件 ----------------------------------------------------------------------- 276技巧119 遍历控件的方法 -------------------------------------------------------------------- 279119-1 使用名称中的变量遍历控件 -------------------------------------------------- 279119-2 使用对象类型遍历控件 --------------------------------------------------------- 281119-3 使用程序标识符遍历控件 ------------------------------------------------------ 282119-4 使用名称中的变量遍历图形 -------------------------------------------------- 283 VBA常用技巧代码解析yuanzhuping6119-5使用FormControlType属性遍历图形 --------------------------------------- 284技巧120 使微调框最小变动量小于1 ----------------------------------------------------- 285技巧121 不打印工作表中的控件 ---------------------------------------------------------- 287121-1 设置控件格式 --------------------------------------------------------------------- 287121-2 设置控件的printobjcet属性 --------------------------------------------------- 289技巧122 在框架中使用滚动条 ------------------------------------------------------------- 289技巧123 使用多页控件 ----------------------------------------------------------------------- 291技巧124 标签文字垂直居中对齐 ---------------------------------------------------------- 293技巧125 使用TabStrip控件 ----------------------------------------------------------------- 295技巧126 显示GIF动画图片 ---------------------------------------------------------------- 297技巧127 播放Flash文件 --------------------------------------------------------------------- 300技巧128 在工作表中添加窗体控件 ------------------------------------------------------- 302128-1 使用AddFormControl方法 ---------------------------------------------------- 303128-2 使用Add方法 -------------------------------------------------------------------- 305技巧129 在工作表中添加ActiveX控件 ------------------------------------------------- 307129-1 使用Add方法 -------------------------------------------------------------------- 308129-2 使用AddOLEObject方法 ------------------------------------------------------ 310技巧130 使用spreadsheet控件 ------------------------------------------------------------- 311技巧131 使用Listview控件 ----------------------------------------------------------------- 314131-1 使用Listview控件显示数据列表 -------------------------------------------- 314131-2 在Listview控件中使用复选框 ----------------------------------------------- 317131-3 调整Listview控件的行距 ----------------------------------------------------- 319131-4 在Listview控件中排序 --------------------------------------------------------- 322131-5 Listview控件的图标设置 ------------------------------------------------------- 323技巧132 调用非模式窗体 -------------------------------------------------------------------- 326技巧133 进度条的制作 ----------------------------------------------------------------------- 328133-1 使用进度条控件 ------------------------------------------------------------------ 328133-2 使用标签控件 --------------------------------------------------------------------- 330技巧134 使用TreeView控件显示层次 --------------------------------------------------- 333技巧135 用户窗体添加图标 ----------------------------------------------------------------- 337技巧136 用户窗体添加最大最小化按纽 ------------------------------------------------- 339技巧137 禁用窗体标题栏的关闭按钮 ---------------------------------------------------- 340技巧138 屏蔽窗体标题栏的关闭按钮 ---------------------------------------------------- 341技巧139 无标题栏和边框的窗体 ---------------------------------------------------------- 343技巧140 制作年月选择窗体 ----------------------------------------------------------------- 344技巧141 自定义窗体中的鼠标指针类型 ------------------------------------------------- 347技巧142 调整窗体的显示位置 ------------------------------------------------------------- 348技巧143 由鼠标确定窗体显示位置 ------------------------------------------------------- 350技巧144 用户窗体的打印 -------------------------------------------------------------------- 351技巧145 使用自定义颜色设置窗体颜色 ------------------------------------------------- 353技巧146 在窗体中显示图表 ----------------------------------------------------------------- 354146-1 使用Export方法 ----------------------------------------------------------------- 354146-2 使用API函数 --------------------------------------------------------------------- 356技巧147 窗体运行时调整控件大小 ------------------------------------------------------- 357 VBA常用技巧代码解析yuanzhuping7技巧148 在用户窗体上添加菜单 ---------------------------------------------------------- 360技巧149 在用户窗体上添加工具栏 ------------------------------------------------------- 364技巧150 使用代码添加窗体及控件 ------------------------------------------------------- 369技巧151 用户窗体的全屏显示 ------------------------------------------------------------- 375151-1 设置用户窗体为应用程序的大小 -------------------------------------------- 375151-2 根据屏幕分辨率进行设置 ----------------------------------------------------- 376技巧152 在用户窗体上添加状态栏 ------------------------------------------------------- 377第9章函数的使用 -------------------------------------------------------------------------------- 381技巧153 调用工作表函数求和 ------------------------------------------------------------- 381技巧154 查找最大、最小值 ----------------------------------------------------------------- 381技巧155 不重复值的录入 -------------------------------------------------------------------- 383技巧156 获得当月的最后一天 ------------------------------------------------------------- 385技巧157 四舍五入运算 ----------------------------------------------------------------------- 386157-1 极小值修正法 --------------------------------------------------------------------- 386157-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 数组的使用 -------------------------------------------------------------------------- 406169-1 代码运行时创建数组 ------------------------------------------------------------ 406169-2 文本转换为数组 ------------------------------------------------------------------ 407169-3 使用动态数组去除重复值 ----------------------------------------------------- 409第10章文件操作 ----------------------------------------------------------------------------------- 412技巧170 导入文本文件 ----------------------------------------------------------------------- 412170-1 使用查询表导入 ------------------------------------------------------------------ 412170-2 使用Open 语句导入 ------------------------------------------------------------ 413170-3 使用OpenText方法 ------------------------------------------------------------- 415技巧171 将数据写入文本文件 ------------------------------------------------------------- 416171-1 使用Print # 语句 ----------------------------------------------------------------- 416171-2 另存为文本文件 ------------------------------------------------------------------ 418技巧172 文件修改的日期和时间 ---------------------------------------------------------- 419技巧173 查找文件或文件夹 ----------------------------------------------------------------- 420技巧174 获得当前文件夹的名称 ---------------------------------------------------------- 422技巧175 创建和删除文件夹 ----------------------------------------------------------------- 422技巧176 重命名文件或文件夹 ------------------------------------------------------------- 423技巧177 复制指定的文件 -------------------------------------------------------------------- 424 VBA常用技巧代码解析yuanzhuping8技巧178 删除指定的文件 -------------------------------------------------------------------- 425技巧179 搜索特定的文件 -------------------------------------------------------------------- 426技巧180 使用WSH处理文件 -------------------------------------------------------------- 428180-1 获取文件信息 --------------------------------------------------------------------- 428180-2 查找文件 --------------------------------------------------------------------------- 430180-3 移动文件 --------------------------------------------------------------------------- 431180-4 复制文件 --------------------------------------------------------------------------- 431180-5 删除文件 --------------------------------------------------------------------------- 432180-6 创建文件夹 ------------------------------------------------------------------------ 433180-7 复制文件夹 ------------------------------------------------------------------------ 434180-8 移动文件夹 ------------------------------------------------------------------------ 435180-9 删除文件夹 ------------------------------------------------------------------------ 435180-10 导入文本文件-------------------------------------------------------------------- 436180-11 创建文本文件 -------------------------------------------------------------------- 438第11章其他应用 ----------------------------------------------------------------------------------- 441技巧181 取得电脑名称 ----------------------------------------------------------------------- 441技巧182 取得逻辑盘序列号 ----------------------------------------------------------------- 442技巧183 使用API取得硬盘信息 ---------------------------------------------------------- 443技巧184 使用数字签名 ----------------------------------------------------------------------- 444技巧185 暂停代码的运行 -------------------------------------------------------------------- 449技巧186 定时关机 ----------------------------------------------------------------------------- 450技巧187 打开指定的网页 -------------------------------------------------------------------- 451技巧188 VBE的操作 -------------------------------------------------------------------------- 452188-1 添加模块和过程 ------------------------------------------------------------------ 452188-2 建立事件过程 --------------------------------------------------------------------- 454188-3 模块的导入与导出 --------------------------------------------------------------- 456188-4 删除宏代码 ------------------------------------------------------------------------ 457技巧189 保护VBA代码 --------------------------------------------------------------------- 459189-1 设置工程密码 --------------------------------------------------------------------- 459189-2 设置“工程不可查看” --------------------------------------------------------- 460技巧190 优化代码 ----------------------------------------------------------------------------- 462190-1 关闭屏幕刷新 --------------------------------------------------------------------- 462190-2 使用工作表函数 ------------------------------------------------------------------ 464。
EXCEL-VBA代码讲义

VBA基础代码笔记[1]Sub 宏名#宏开始[2]End Sub #宏结束[3]Cells(行#指数字,列#指数字) #cells指单元格的意思[4]变量比如:x=cells(1,2)注意:尽量使用英文或者拼音,不要使用数字开头,不和系统保留字重名[5]赋值= 比如:cell s(1,2)=”+”[6]Option Explicit #必须写在顶部,告诉VBA你要登记变量[7]Dim r,s,l #登记了r,s,l这些变量,在sub后,变量前[8]Const pi=3.14159 #声明pi是常量,永远为3.14159,不允许中途修改(否则报错)[9]For i=11 to 20 Step 1 #让i从11变化到20每步增加1#此为循环结构…………#循环体Next i#循环变量#Next i中的i可以省略#step 1可以省略(省略后按默认值执行)[10]Tab键代码缩进,使代码层次分明。
[11]分支结构正常分支结构:[12]关系运算符:不等于:<>[14]调试(1)VBA报错仅限于:①语法错误,如将if写成ie②编译错误,如调用了未声明的变量③运行时出错,如将一个数字除以0(2)逻辑错误报错:调试①设置断点:点击左侧的灰色区域②单步执行:按下F8③添加监视:调试菜单下[15]字符串:必须用双引号括起来,空格也可以是字符串,空字符串也是字符串””,大写字符串与小写字符串不同,数字字符串不是数字。
&这个符号表示连接字符串;注意&两边必须要有空格(尤其变量名加&)[16]逻辑运算:And,Or,Not,并且not优先于And优先于or。
[17]录制宏:常见操作:row(i & “:” i).select #删除行Cells(r,c)返回的就是一个range对象注意删除行后行号会改变对于此可使用step-1(或者使用正序加上i=i-1)[18]While循环结构:[19]Rem #注释[20]面向对象:Worksheets.Count #代表工作表中有多少张工作表Worksheets.Add #新建一个工作表为excel添加10张工作表:[21]用worksheets引用工作表的两种形式:①位置,如worksheets(5)②根据工作表的名称,如work sheets(“总分榜”)[22]示例一:提取数据写入制定位置[23]过程调用调用过程也可以只写过程名,省略关键字call[24]函数(function):过程的一种,参数:参数可以多个,用逗号隔开。
「officeExcelvba经典教材(带实例)」

VBA入门系列讲座1.1VBA是什么直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用excel的宏语言来使excel自动化,使用word BASIC使word自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言--------VisualBasic ForApplication(VBA),可以认为VBA是非常流行的应用程序开发语言VASUAL BASIC 的子集.实际上VBA是"寄生于"VB应用程序的版本.VBA和VB的区别包括如下几个方面:1. VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(excel等)自动化2. VB具有自己的开发环境,而VBA必须寄生于已有的应用程序.3. 要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的"父"应用程序,例如excel.尽管存在这些不同,VBA和VB在结构上仍然十分相似.事实上,如果你已经了解了VB,会发现学习VBA非常快.相应的,学完VBA会给学习VB打下坚实的基础.而且,当学会在excel中用VBA创建解决方案后,即已具备在word accessOUTLOOKFOXPRO PROWERPOINT中用VBA创建解决方案的大部分知识.* VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化.*VBA可以称作excel的“遥控器”.VBA究竟是什么?更确切地讲,它是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案.此外,如果你愿意,还可以将excel用做开发平台实现应用程序.1.2excel环境中基于应用程序自动化的优点也许你想知道VBA可以干什么?使用VBA可以实现的功能包括:1. 使重复的任务自动化.2.自定义excel工具栏,菜单和界面.3. 简化模板的使用.4. 自定义excel,使其成为开发平台.5.创建报表.6.对数据进行复杂的操作和分析.用excel作为开发平台有如下原因:1. excel本身功能强大,包括打印,文件处理,格式化和文本编辑.2. excel内置大量函数.3.excel界面熟悉.4.可连接到多种数据库.用其他语言开发应用程序,一半的工作是编写一些基本功能的模块,包括文件的打开和保存,打印,复制等.而用excel作为开发平台,则由于excel已经具备这些基本功能,你要做的只是使用它.1.3 录制简单的宏在介绍学习VBA之前,应该花几分钟录制一个宏。
excelVBA基础入门教案

Excel-VBA基础入门教案第一章:VBA概述1.1 了解VBA的概念解释VBA的含义和作用介绍VBA与其他编程语言的区别1.2 VBA的应用场景展示VBA在Excel中的实际应用案例讨论VBA在提高工作效率方面的优势1.3 VBA的安装和设置指导学生安装VBA宏功能演示如何设置VBA的运行环境第二章:VBA编程基础2.1 VBA编程环境介绍VBA的编程界面和工具栏演示如何新建和使用模块2.2 变量和数据类型讲解变量的概念和作用介绍常用的数据类型及其使用方法2.3 常用操作符和表达式解释算术、比较和逻辑操作符的含义和用法展示如何使用这些操作符进行计算和判断第三章:VBA控制结构3.1 顺序结构讲解顺序结构的含义和作用演示如何使用顺序结构编写简单的宏3.2 选择结构解释选择结构的含义和作用展示如何使用选择结构根据条件执行不同代码块3.3 循环结构讲解循环结构的概念和类型演示如何使用循环结构重复执行代码块第四章:常用VBA函数4.1 数学函数介绍数学函数的作用和用法演示如何使用数学函数进行计算4.2 文本函数讲解文本函数的含义和用途展示如何使用文本函数处理字符串4.3 日期和时间函数解释日期和时间函数的概念和用法演示如何使用日期和时间函数获取当前日期和时间第五章:Excel对象和集合5.1 Excel对象模型介绍Excel对象模型的结构和主要对象演示如何使用对象模型操作Excel对象5.2 工作簿和工作表操作讲解如何创建、打开、关闭和复制工作簿和工作表演示如何使用VBA操作工作簿和工作表5.3 单元格操作解释如何选取、修改和格式化单元格展示如何使用VBA操作单元格数据和格式第六章:VBA代码调试技巧6.1 了解调试工具介绍Excel VBA开发工具栏中的调试工具演示如何使用调试工具进行断点设置、单步执行等操作6.2 使用错误处理结构讲解错误处理结构的概念和用法展示如何使用错误处理结构提高代码的健壮性6.3 常见错误类型及解决方法分析常见的VBA错误类型及其原因提供解决这些错误的常用方法和技巧第七章:用户界面设计7.1 认识用户界面设计解释在VBA中创建用户界面的意义和作用介绍常用的用户界面设计工具和组件7.2 常用用户界面设计组件讲解标签、按钮、文本框等组件的属性和事件演示如何使用这些组件创建个性化的用户界面7.3 界面与代码的交互解释界面组件与VBA代码之间的交互原理展示如何通过用户界面组件控制代码的执行流程第八章:文件操作8.1 文件系统对象(FSO)介绍文件系统对象的概念和主要方法演示如何使用FSO进行文件和目录的操作8.2 文件读写操作讲解在VBA中进行文件读写操作的原理和方法展示如何读取和写入文本文件、Excel文件等8.3 实现文件操作实例提供文件操作的实际案例,让学生学会如何应用所学知识第九章:VBA高级应用9.1 数组和集合讲解数组和集合的概念、作用和用法展示如何使用数组和集合存储和管理大量数据9.2 递归算法解释递归算法的概念和特点演示如何使用递归算法解决实际问题9.3 动态对象创建介绍动态对象的概念和作用展示如何动态创建和使用对象第十章:综合实例开发10.1 实例简介介绍一个综合实例的项目背景和需求分析10.2 需求分析与设计分析项目的需求,设计相应的功能模块10.3 编码实现使用所学的VBA知识,编写代码实现项目功能10.4 测试与优化对项目进行测试,找出并修复可能存在的错误根据测试结果对项目进行性能优化第十一章:Excel Add-In 开发11.1 Add-In 概念介绍解释Add-In 的含义和作用介绍Add-In 的类型及其应用场景11.2 创建和部署Add-In讲解如何创建自定义Add-In演示Add-In 的部署和安装方法11.3 Add-In 高级编程探讨Add-In 的高级编程技巧展示如何扩展Excel 功能和使用体验第十二章:VBA与外部数据交换12.1 了解外部数据交换解释VBA 与外部数据交换的意义和作用介绍常见的外部数据源及其应用场景12.2 使用ADO 连接外部数据讲解ADO (ActiveX Data Objects) 的概念和用法演示如何使用ADO 连接和操作外部数据源12.3 导入和导出数据讲解如何导入和导出数据的方法和技巧展示如何使用VBA 导入和导出Excel 数据第十三章:VBA网络编程基础13.1 网络编程概述解释网络编程的概念和作用介绍网络编程的基本技术和方法13.2 使用WinINet类讲解WinINet 类的作用和用法演示如何使用WinINet 类进行基本的网络操作13.3 实现网络数据获取探讨如何使用VBA 实现网络数据的获取展示如何应用网络编程技术获取网络数据第十四章:VBA安全性和权限管理14.1 了解VBA安全性解释VBA 安全性的概念和重要性介绍VBA 安全性的常见问题和应对策略14.2 宏和VBA代码的安全性讲解如何保护宏和VBA 代码的安全性展示如何防止宏和代码被篡改或滥用14.3 权限管理解释权限管理的概念和作用演示如何实现VBA 代码的权限管理第十五章:VBA编程最佳实践和技巧15.1 编程规范和习惯讲解编程规范和习惯的重要性介绍VBA 编程中的常见规范和习惯15.2 代码优化和重构解释代码优化和重构的概念和作用演示如何进行VBA 代码的优化和重构15.3 高效编程技巧探讨VBA 编程中的高效技巧和策略展示如何提高VBA 代码的执行效率和性能重点和难点解析本文主要介绍了Excel-VBA基础入门的相关知识,涵盖了VBA的概念、应用场景、安装和设置、编程基础、控制结构、常用函数、Excel对象和集合、代码调试技巧、用户界面设计、文件操作、VBA高级应用、综合实例开发、Add-In开发、外部数据交换、网络编程基础、安全性和权限管理以及编程最佳实践和技巧等方面的内容。
excel-VBA基础入门教案

Excel-VBA基础入门教案一、教学目标1. 了解VBA的概念和作用2. 掌握VBA的入门级编程技巧3. 能够运用VBA编写简单的Excel宏二、教学内容1. VBA概述VBA的定义VBA的应用场景2. VBA环境介绍VBA编辑器的基本结构如何打开VBA编辑器3. 第一个VBA宏创建宏运行宏4. VBA语法基础变量及其声明数据类型常用运算符5. 控制结构条件语句(IfThenElse)循环语句(ForNext、DoLoop)三、教学过程1. 引入话题:介绍VBA在Excel中的作用和应用场景,激发学生的学习兴趣。
2. 讲解VBA概述,让学生了解VBA的基本概念。
3. 演示如何打开VBA编辑器,并简要介绍其基本结构。
4. 带领学生创建第一个VBA宏,并运行它,让学生感受VBA的魅力。
5. 讲解VBA语法基础,包括变量声明、数据类型和常用运算符。
6. 讲解控制结构,包括条件语句和循环语句。
7. 进行案例教学,让学生通过编写简单的VBA代码实现特定功能。
四、教学评价1. 学生能熟练掌握VBA的概念和作用。
2. 学生能熟练使用VBA编辑器。
3. 学生能编写简单的VBA宏,实现特定功能。
4. 学生能理解并运用VBA语法基础和控制结构。
五、课后作业1. 复习本节课所学内容,整理笔记。
当某个单元格内容发生改变时,自动弹出一个提示框显示该单元格的内容。
六、教学资源1. 教学PPT:用于展示VBA的概念、语法和示例代码。
2. Excel文件:用于实践VBA宏的编写和运行。
3. 编程环境:安装有Excel和VBA编辑器的计算机。
七、教学步骤1. 回顾上节课所学内容,检查学生的学习情况。
2. 通过PPT展示VBA的概念和作用,让学生进一步了解VBA。
3. 讲解VBA环境的使用方法,包括如何打开VBA编辑器、编写和运行宏等。
4. 讲解VBA语法基础,包括变量声明、数据类型和常用运算符。
5. 讲解控制结构,包括条件语句和循环语句。
ExcelVBA-类代码实例集锦

1, 类动态数组控件‘2007VBA技巧‘快盘\Mytb\更新\类\‘2013-6-16类模块代码:Public Index As IntegerPrivate Sub myText_Change()Index = Mid(, 8)If frm.Controls("Textbox" & Index) <> "" Thenbel1.Caption = "控件事件:Change" & vbCrLf & _"控件名称:" & frm.Controls("Textbox" & Index).Name & vbCrLf & _"Text属性:" & frm.Controls("Textbox" & Index).TextEnd IfEnd SubPrivate Sub myText_DblClick(ByVal Cancel As MSForms.ReturnBoolean)Index = Mid(, 8)If frm.Controls("Textbox" & Index) <> "" Thenbel1.Caption = "控件事件:DblClick" & vbCrLf & _"控件名称:" & frm.Controls("Textbox" & Index).Name & vbCrLf & _"Cancel属性:" & CancelEnd IfEnd SubKeyUp事件与Change事件重迭,二者取其一Private Sub myText_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)Index = Mid(, 8)If frm.Controls("Textbox" & Index) <> "" Thenbel1.Caption = "控件事件:KeyUp" & vbCrLf & _"控件名称:" & frm.Controls("Textbox" & Index).Name & vbCrLf & _"按键值:&H" & Hex$(KeyCode)End IfEnd SubPrivate Sub myText_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)Select Case IndexCase 3bel2.Caption = "3"Case 8bel2.Caption = "8"Case 4bel2.Caption = "4"Case 9bel2.Caption = "9"Case Elsebel2.Caption = " "End SelectEnd Sub模块1代码:Public a(1 To 14) As myTextSub formshow()End Sub窗体代码:Private Sub CommandButton1_Click()Dim i&, t$For i = 1 To 14If a(i).myText.Text <> "" Thent = t & "控件名称:" & a(i) & vbTab & "Text属性:" & a(i).myText.Text & vbCrLfEnd IfNext iMsgBox tEnd SubPrivate Sub UserForm_Initialize()Dim i&For i = 1 To 14Set a(i) = New myTextSet a(i).myText = Me.Controls("Textbox" & i)Set a(i).frm = MeNext iEnd Sub工作表代码:Private Sub CommandButton1_Click()End Sub2, 复选框选择‘快盘\Mytb\更新\类\类0928..xls‘当复选框选择到7个时,其它的复选框不能再选择。
Excel常用VBA函数实用经典案例

Excel常用VBA函数实用经典案例ASC函数一、题目:要求编写一段代码,运行后得到字符串”Excel”的首字母和”e”的ASCII值。
二、代码:S UB示例_1_01()D IM MY N UM1%,MY N UM2%MY N UM1=A SC("E XCEL")'返回69MY N UM2=A SC("E")'返回101[A1]="MY N UM1=":[B1]=MY N UM1[A2]="MY N UM2=":[B2]=MY N UM2E ND S UB三、代码详解1、Sub示例_1_01():宏程序的开始语句。
2、Dim myNum1%,myNum2%:变量myNum1和myNum2声明为整型变量。
也可以写为Dim myNum1As Integer。
Integer变量存储为16位(2个字节)的数值形式,其范围为 -32,768到32,767之间。
Integer的类型声明字符是百分比符号(%)。
3、myNum1=Asc("Excel"):把Asc函数的值赋给变量myNum1。
Asc函数返回一个Integer,代表字符串中首字母的字符的ASCII代码。
语法Asc(string)必要的string(字符串)参数可以是任何有效的字符串表达式。
如果string中没有包含任何字符,则会产生运行时错误。
4、myNum2=Asc("e"):把Asc函数的值赋给变量myNum2。
这里返回小写字母e的ASCII代码101。
5、[a1]="myNum1=":[b1]=myNum1:把字符串“myNum1=“赋给A1单元格,把变量myNum1的值赋给B1单元格。
6、[a2]="myNum2=":[b2]=myNum2:把字符串“myNum2=“赋给A2单元格,把变量myNum2的值赋给B2单元格。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1, 类动态数组控件‘2007VBA技巧‘快盘\Mytb\更新\类\类动态数组控件.xlsm‘2013-6-16类模块代码:Public WithEvents frm As erFormPublic WithEvents myText As MSForms.TextBoxPublic Index As IntegerPrivate Sub myText_Change()Index = Mid(, 8)If frm.Controls("Textbox" & Index) <> "" Thenbel1.Caption = "控件事件:Change" & vbCrLf & _"控件名称:" & frm.Controls("Textbox" & Index).Name & vbCrLf & _"Text属性:" & frm.Controls("Textbox" & Index).TextEnd IfEnd SubPrivate Sub myText_DblClick(ByVal Cancel As MSForms.ReturnBoolean)Index = Mid(, 8)If frm.Controls("Textbox" & Index) <> "" Thenbel1.Caption = "控件事件:DblClick" & vbCrLf & _"控件名称:" & frm.Controls("Textbox" & Index).Name & vbCrLf & _"Cancel属性:" & CancelEnd IfEnd SubKeyUp事件与Change事件重迭,二者取其一Private Sub myText_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)Index = Mid(, 8)If frm.Controls("Textbox" & Index) <> "" Thenbel1.Caption = "控件事件:KeyUp" & vbCrLf & _"控件名称:" & frm.Controls("Textbox" & Index).Name & vbCrLf & _"按键值:&H" & Hex$(KeyCode)End IfEnd SubPrivate Sub myText_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)Select Case IndexCase 3bel2.Caption = "3"Case 8bel2.Caption = "8"Case 4bel2.Caption = "4"Case 9bel2.Caption = "9"Case Elsebel2.Caption = " "End SelectEnd Sub模块1代码:Public a(1 To 14) As myTextSub formshow()Userform2.ShowEnd Sub窗体代码:Private Sub CommandButton1_Click()Dim i&, t$For i = 1 To 14If a(i).myText.Text <> "" Thent = t & "控件名称:" & a(i) & vbTab & "Text属性:" & a(i).myText.Text & vbCrLfEnd IfNext iMsgBox tEnd SubPrivate Sub UserForm_Initialize()Dim i&For i = 1 To 14Set a(i) = New myTextSet a(i).myText = Me.Controls("Textbox" & i)Set a(i).frm = MeNext iEnd Sub工作表代码:Private Sub CommandButton1_Click()Userform2.ShowEnd Sub2, 复选框选择‘快盘\Mytb\更新\类\类0928..xls‘当复选框选择到7个时,其它的复选框不能再选择。
当复选框选择小于7个,其它的复选框还能继续选择。
类模块代码:Public WithEvents che As MSForms.CheckBoxPublic WithEvents frm As erFormPrivate Sub che_Change() '类的数据改变事件Dim index As Longindex = Mid(, 9) '取出checkboxN中的数字NIf frm.Controls("checkbox" & index) = True Thena = a & Format(index, "00") & ","n = n + 1If n = 7 ThenFor i = 1 To 18b = Format(i, "00")If InStr(a, b) = 0 Thenfrm.Controls("checkbox" & i).Enabled = FalseEnd IfNextElseEnd IfElsen = n - 1a = Replace(a, Format(index, "00"), "")For i = 1 To 18frm.Controls("checkbox" & i).Enabled = TrueNextEnd IfEnd Sub模块1代码:Public newclass(1 To 18) As che类, n&, a$Sub formshow()UserForm1.ShowEnd Sub窗体代码:Private Sub UserForm_Initialize()For i = 1 To 18Set newclass(i) = New che类'创建一个新的che类对象Set newclass(i).che = Controls("checkbox" & i) '设置新类和checkbox(i)控件创建关键Set newclass(i).frm = Me '类窗体也和当前窗体建立关联NextEnd Sub3, 限制多个TEXTBOX的输入,使其只能输入数值‘快盘\Mytb\更新\类\如何限制多个TEXTBOX的输入_zhaogang1980.xls‘/thread-956447-1-1.html类模块代码:Public WithEvents Txtbox As MSForms.TextBoxPrivate Sub Txtbox_Change()With CreateObject("vbscript.regexp").Global = True.Pattern = "[^0-9.]+"If .test(Txtbox.Text) ThenTxtbox.Text = .Replace(Txtbox.Text, "")End IfEnd WithEnd Sub模块1代码:Sub Macro1()UserForm1.ShowEnd Sub窗体代码:Dim Txt() As New clsTxtPrivate Sub UserForm_Initialize()Dim ctl As Control, m&For Each ctl In Me.ControlsIf TypeName(ctl) = "TextBox" ThenIf <> "TextBox1" Thenm = m + 1ReDim Preserve Txt(1 To m)Set Txt(m).Txtbox = ctlEnd IfEnd IfNextEnd SubPrivate Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) '第一个不需要类模块If TextBox1.Text = "" Then Exit SubIf IsDate(TextBox1.Text) = False ThenCancel = TrueTextBox1.Text = ""End IfEnd Sub4,限制输入字母‘/thread-28095-1-1-14725.htmlPrivate WithEvents t As MSForms.TextBoxPrivate Sub t_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)'限制只可以输入数字,不可输入字母和其他符号Select Case KeyAsciiCase 48 To 57Case 46If InStr(1, t.Text, ".") ThenKeyAscii = 0End IfCase ElseKeyAscii = 0End SelectEnd SubPrivate Sub t_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) '限制中文输入With CreateObject("vbscript.regexp").Global = True.Pattern = "[^0-9.]+"If .test(t.Text) Thent.Text = .Replace(t.Text, "")End IfEnd WithEnd SubPublic Sub tk(i As OLEObject)'获取oleboject对象Set t = i.ObjectEnd SubDim Ar(1 To 100) As TT'定义数组类Sub justest()Dim j As OLEObject, K As ByteFor Each j In Sheet1.OLEObjectsIf TypeName(j.Object) = "TextBox" Then'如果为TEXTBOX控件j.Object.Text = ""'清空文本框K = K + 1: Set Ar(K) = New TT'同时创建类实体Ar(K).tk j'给类实体赋值,激活事件。