VBA实战技巧198例

上传人:lx****y 文档编号:147116739 上传时间:2022-09-01 格式:DOC 页数:625 大小:18.15MB
收藏 版权申诉 举报 下载
VBA实战技巧198例_第1页
第1页 / 共625页
VBA实战技巧198例_第2页
第2页 / 共625页
VBA实战技巧198例_第3页
第3页 / 共625页
资源描述:

《VBA实战技巧198例》由会员分享,可在线阅读,更多相关《VBA实战技巧198例(625页珍藏版)》请在装配图网上搜索。

1、VBA常用技巧目录BA常用技巧1第1章Rang(单元格)对象10技巧1单元格的引用方法101使用nge属性01使用Clls属性11-3使用快捷记号11-使用Offse属性215使用siz属性12-6使用nion方法21-7使用Usdange属性12-使用CurreRegion属性12技巧选定单元格区域的方法12-1使用Sect方法1222使用Activat方法123使用Got方法12技巧3获得指定行、列中的最后一个非空单元格1技巧定位单元格12技巧查找单元格21使用in方法15-2使用Like运算符2技巧6替换单元格内字符串12技巧复制单元格区域12技巧8仅复制数值到另一区域1281使用选择性

2、粘贴1282直接赋值的方法1技巧9单元格自动进入编辑状态2技巧10禁用单元格拖放功能12技巧11单元格格式操作1111单元格字体格式设置2112设置单元格内部格式121-3为单元格区域添加边框12114灵活设置单元格的行高列宽2技巧12单元格中的数据有效性21-1在单元格中建立数据有效性12122判断单元格是否存在数据有效性212-3动态的数据有效性12自动展开数据有效性下拉列表12技巧13单元格中的公式2131在单元格中写入公式2132检查单元格是否含有公式121-3判断单元格公式是否存在错误12134取得单元格中公式的引用单元格113-5将单元格中的公式转换为数值12技巧14单元格中的批注

3、211判断单元格是否存在批注212为单元格添加批注1243删除单元格中的批注12技巧15合并单元格操作12151判断单元格区域是否存在合并单元格121-2合并单元格时连接每个单元格的文本1215-3合并内容相同的连续单元格1215-4取消合并单元格时在每个单元格中保留内容1技巧6高亮显示单元格区域12技巧17双击被保护单元格时不显示提示消息框2技巧18重新计算工作表指定区域2技巧19录入数据后单元格自动保护12技巧20工作表事件Tagt参数的使用方法1220-1使用单元格的Addrss 属性12202使用Coum属性和o属性220使用Interect方法12第2章Wrkset(工作表)对象12

4、技巧1引用工作表的方式1221-1使用工作表的名称12212使用工作表的索引号2213使用工作表的代码名称12214使用AtieSht属性引用活动工作表2技巧22选择工作表的方法12技巧23遍历工作表的方法13使用Fo。Ne 语句1232使用For ac.。Next 语句1技巧4在工作表中上下翻页12技巧25工作表的添加与删除技巧2禁止删除指定工作表12技巧27自动建立工作表目录12技巧28工作表的深度隐藏12技巧2防止更改工作表的名称2技巧30工作表中一次插入多行12技巧3删除工作表中的空行2技巧32删除工作表的重复行12技巧33定位删除特定内容所在的行12技巧4判断是否选中整行12技巧限制

5、工作表的滚动区域12技巧36复制自动筛选后的数据区域12技巧37使用高级筛选获得不重复记录1技巧工作表的保护与解除保护12技巧9奇偶页打印12第3章Wordbok(工作簿)对象12技巧4工作簿的引用方法1240-1使用工作簿的名称124-2使用工作簿的索引号12403使用sWorkoo124使用ctiveWorbok2技巧41新建工作簿文件2技巧42打开指定的工作簿12技巧3判断指定工作簿是否打开1243-1遍历Wrkbo集合方法143-2错误处理方法1技巧4禁用宏则关闭工作簿1技巧45关闭工作簿不显示保存对话框12451使用los方法关闭工作簿452单击工作簿关闭按钮关闭工作簿12技巧46禁

6、用工作簿的关闭按钮12技巧4保存工作簿的方法12471使用Sae方法17-2直接保存为另一文件名1473保存工作簿副本2技巧4保存指定工作表为工作簿文件12技巧49打印预览时不触发事件1技巧5设置工作簿文档属性信息1技巧51不打开工作簿取得其他工作簿数据511使用公式1251-使用GetObject函数1251-隐藏Applation对象125使用ExctxcelMar方法1255使用QL连接1技巧2返回窗口的可视区域地址2第章hape(图形)、Cr(图表)对象12技巧53在工作表中添加图形1技巧54导出工作表中的图片12技巧55在工作表中添加艺术字12技巧遍历工作表中的图形12技巧7移动、旋

7、转图片12技巧5工作表中自动插入图片技巧5固定工作表中图形的位置12技巧60使用V自动生成图表2技巧61使用独立窗口显示图表12技巧6导出工作表中的图表12技巧63多图表制作1第5章Apicatio对象12技巧64取得xcel版本信息12技巧5取得当前用户名称12技巧66Eel中的“定时器”1技巧7设置活动打印机的名称12技巧68屏蔽、改变组合键的功能1技巧9设置Exe窗口标题栏12技巧70自定义xce状态栏12技巧7灵活退出xcel12技巧72隐藏Exce主窗口122设置Apliation对象的is属性1272-2将窗口移出屏幕1272-3设置工作簿作为加载宏运行2第6章使用对话框2技巧3使

8、用sbox函数1731显示简单的提示信息12732定制个性化的消息框1233获得消息框的返回值124在消息框中排版275对齐消息框中显示的信息12技巧74自动关闭的消息框14-1使用sSell.Pp方法显示消息框1274-使用API函数显示消息框12技巧75使用Inpuo函数12751简单的数据输入1252使用对话框输入密码12技巧76使用InptBx方法761输入指定类型的数据1276-2获得单元格区域地址技巧7内置对话框1271调用内置的对话框177-2获取选定文件的文件名2-使用“另存为”对话框2技巧78调用操作系统“关于”对话框2第7章菜单和工具栏1技巧7在菜单中添加菜单项12技巧80

9、在菜单栏指定位置添加菜单2技巧81屏蔽和删除工作表菜单12技巧82改变系统菜单的操作12技巧定制自己的系统菜单12技巧84改变菜单按钮图标2技巧8右键快捷菜单增加菜单项1技巧86自定义右键快捷菜单12技巧87使用右键菜单制作数据有效性12技巧8禁用工作表右键菜单2技巧89创建自定义工具栏2技巧0自定义工具栏按钮图标12技巧1自定义工作簿图标12技巧92移除工作表的最小最大化和关闭按钮1技巧93在工具栏上添加下拉列表框1技巧屏蔽工作表的复制功能12技巧95禁用工具栏的自定义12技巧6屏蔽所有的命令栏1技巧97恢复cel的命令栏1第8章控件与用户窗体12技巧9限制文本框的输入1技巧99文本框添加右

10、键快捷菜单1技巧10文本框回车自动输入12技巧101自动选择文本框内容12技巧12设置文本框数据格式2技巧0限制文本框的输入长度12技巧4将光标返回文本框中12技巧105文本框的自动换行12技巧6多个文本框数据相加2技巧107控件跟随活动单元格2技巧108高亮显示按钮2技巧19组合框和列表框添加列表项的方法2109使用RowSore属性添加列表项1-2使用List属性添加列表项12109使用AddItm方法添加列表项1技巧10去除列表框数据源的重复值和空格技巧111移动列表框条目12技巧112允许多项选择的列表框技巧11多列组合框和列表框的设置12131多列组合框和列表框添加列表项213-2多

11、列列表框写入工作表1技巧11输入时逐步提示信息2技巧15二级组合框1技巧16使用DTP控件输入日期技巧17使用RefEdit控件选择区域1技巧18如何注册控件12技巧11遍历控件的方法19-1使用名称中的变量遍历控件11192使用对象类型遍历控件1211-3使用程序标识符遍历控件21194使用名称中的变量遍历图形1219使用FormCntrolTyp属性遍历图形1技巧120使微调框最小变动量小于112技巧121不打印工作表中的控件11211设置控件格式12212设置控件的ritobjet属性12技巧22在框架中使用滚动条12技巧123使用多页控件1技巧标签文字垂直居中对齐技巧125使用Tatr

12、ip控件12技巧126显示I动画图片1技巧17播放Flash文件2技巧128在工作表中添加窗体控件121281使用AdForCot方法128使用Add方法技巧29在工作表中添加ctveX控件9-1使用Ad方法122-2使用AddOObjt方法12技巧10使用pasheet控件12技巧131使用Listvi控件1131使用Listviw控件显示数据列表12131-2在tvie控件中使用复选框121313调整Listiew控件的行距211-4在Lstview控件中排序31-5vie控件的图标设置技巧132调用非模式窗体1技巧13进度条的制作12133-1使用进度条控件121332使用标签控件12技

13、巧14使用TreeView控件显示层次12技巧135用户窗体添加图标12技巧136用户窗体添加最大最小化按纽2技巧137禁用窗体标题栏的关闭按钮12技巧138屏蔽窗体标题栏的关闭按钮12技巧3无标题栏和边框的窗体1技巧140制作年月选择窗体2技巧1自定义窗体中的鼠标指针类型12技巧142调整窗体的显示位置12技巧43由鼠标确定窗体显示位置1技巧44用户窗体的打印12技巧使用自定义颜色设置窗体颜色12技巧146在窗体中显示图表121461使用prt方法121462使用A函数1技巧47窗体运行时调整控件大小12技巧148在用户窗体上添加菜单12技巧49在用户窗体上添加工具栏12技巧10使用代码添加

14、窗体及控件12技巧151用户窗体的全屏显示121511设置用户窗体为应用程序的大小12151-2根据屏幕分辨率进行设置12技巧152在用户窗体上添加状态栏2第章函数的使用2技巧5调用工作表函数求和2技巧154查找最大、最小值1技巧不重复值的录入12技巧获得当月的最后一天1技巧157四舍五入运算2151极小值修正法12157-2调用工作表函数法1技巧158使用字符串函数12技巧159使用日期函数2技巧160判断是否为数值12技巧161格式化数值、日期和时间12技巧62个人所得税自定义函数12技巧6人民币大写函数1技巧列号转换为列标1技巧165判断工作表是否为空表12技巧16查找指定工作表1技巧1

15、7查找指定工作簿是否打开12技巧68取得应用程序的安装路径12技巧19数组的使用9-1代码运行时创建数组1216-2文本转换为数组2193使用动态数组去除重复值2第章文件操作1技巧0导入文本文件121701使用查询表导入117-使用Open 语句导入117使用OpText方法技巧17将数据写入文本文件121-1使用Pnt 语句12171-2另存为文本文件技巧172文件修改的日期和时间12技巧17查找文件或文件夹12技巧17获得当前文件夹的名称12技巧17创建和删除文件夹2技巧176重命名文件或文件夹12技巧177复制指定的文件12技巧178删除指定的文件12技巧179搜索特定的文件12技巧18

16、0使用W处理文件1-获取文件信息1802查找文件218-3移动文件2804复制文件1180-5删除文件121806创建文件夹1210-7复制文件夹1280-8移动文件夹280-9删除文件夹1218-1导入文本文件121811创建文本文件2第1章其他应用12技巧18取得电脑名称12技巧8取得逻辑盘序列号12技巧183使用AI取得硬盘信息12技巧4使用数字签名1技巧185暂停代码的运行1技巧18定时关机1技巧187打开指定的网页12技巧88VBE的操作128-1添加模块和过程12188建立事件过程12183模块的导入与导出121884删除宏代码1技巧19保护VBA代码2189-1设置工程密码22设

17、置“工程不可查看”1技巧190优化代码10-1关闭屏幕刷新290-2使用工作表函数120-3使用更快的单元格操作方法210-使用Wih语句引用对象1190-少用激活或选择语句12技巧19取得文件的基本名称2技巧12防止用户中断代码运行12技巧193加班费计算表12技巧19制作发放条技巧19费用统计表1技巧96职工花名册2技巧197收据系统2技巧198职工考勤系统2第1章 Rnge(单元格)对象Rg对象是Excel应用程序中最常用的对象,一个a对象代表一个单元格、一行、一列、包含一个或者更多单元格区域(可以是连续的单元格,也可以是不连续的单元格)中选定的单元格,甚至是多个工作表上的一组单元格,在

18、操作c 内的任何区域之前都需要将其表示为一个ang对象,然后使用该Range对象的方法和属性。技巧1 单元格的引用方法在VBA中经常需要引用单元格或单元格区域区域,主要有以下几种方法。1-1 使用Rane属性VB中可以使用Range属性返回单元格或单元格区域,如下面的代码所示。#001 SbRSelc()02 hee1。Range(A3:F6,B1:5)。Select03 EndSu代码解析:Rnglec过程使用Seect方法选中A3:6,B1:5单元格区域。Rge属性返回一个ange对象,该对象代表一个单元格或单元格区域,语法如下:Rge(Cel1, el2)参数Cell1是必需的,必须为

19、1 样式引用的宏语言,可包括区域操作符(冒号)、相交区域操作符(空格)或合并区域操作符(逗号).也可包括美元符号(即绝对地址,如“1)。可在区域中任一部分使用局部定义名称,如Rg(”B2:LasCell),其中LatCell为已定义的单元格区域名称.参数Cell是可选的,区域左上角和右下角的单元格。运行Sb RnSelect过程,选中A:F6, B1:C5单元格区域,如Error! Reference source not found.所示.图单元格的引用方法。Error! Bookmark not defined.使用Rang属性引用单元格区域注意 如果没有使用对象识别符,Rng属性返回活动

20、表的一个区域,如果活动表不是工作表,则该属性无效。1-2 使用Cell属性使用Clls属性返回一个Rane对象,如下面的代码所示。#00 ub Cel()002 D cell As tger003 oricel1 o 0004 hee2els(iell,1).le = cell#005 Next06 Endub代码解析:Cell过程使用For。Net语句为工作表中的A1:A0单元格区域填入序号。Cels属性指定单元格区域中的单元格,语法如下:Cs(ownx,ComInde)参数RIndx是可选的,表示引用区域中的行序号。参数oumnInx是可选的,表示引用区域中的列序号。如果缺省参数,Cell

21、s属性返回引用对象的所有单元格。ells属性的参数可以使用变量,因此经常应用于在单元格区域中循环。1-3 使用快捷记号在VA中可以将A1引用样式或命名区域名称使用方括号括起来,作为age属性的快捷方式,这样就不必键入单词“Ra”或使用引号,如下面的代码所示.#0 SubFastmak()002 1: = 2#003 ast= 4#00 nd Sub代码解析:Fsmak过程使用快捷记号为单元格区域赋值。第2行代码使用快捷记号将活动工作表中的A:A5单元格赋值为.第行代码将工作簿中已命名为“Fast”的单元格区域赋值为。注意 使用快捷记号引用单元格区域时只能使用固定字符串而不能使用变量.1-4 使

22、用ffset属性可以使用ange对象的Ofs属性返回一个基于引用的Rge对象的单元格区域,如下面的代码所示。#001 Subfe()02 Shet3.Rang(”A1:C3)。Ofset(3, 3).Selec003 Endub代码解析:Ofse过程使用Range对象的Offse属性选中1:A3单元格偏移三行三列后的区域。应用于Rag对象的Offset属性的语法如下:exprsson.Ofset(RowOfset, Columnfet)参数eresson是必需的,该表达式返回一个Rag对象。参数RowOffst是可选的,区域偏移的行数(正值、负值或 0(零))。正值表示向下偏移,负值表示向上偏

23、移,默认值为 .参数ClumnOffset是可选的,区域偏移的列数(正值、负值或 0(零))。正值表示向右偏移,负值表示向左偏移,默认值为 0。运行Offset过程,选中1:A单元格偏称三行三列后的区域,如Error! Reference source not found.所示.图 1Error! Bookmark not defined.使用ane对象的Offset属性1-5 使用Resize属性使用Rane对象的Resiz属性调整指定区域的大小,并返回调整大小后的单元格区域,如下面的代码所示。#00ub Resiz()002 Shee4。ng(1).Reze(3, 3).Selc#003

24、Eb代码解析:Rize过程使用Rane对象的Resize属性选中单元格扩展为三行三列后的区域。Resiz属性的语法如下:expession。Rsze(Rowiz, Columnie)参数eresson是必需的,返回要调整大小的age 对象参数Rowe是可选的,新区域中的行数.如果省略该参数,则该区域中的行数保持不变。参数CoumSze是可选的,新区域中的列数.如果省略该参数.则该区域中的列数保持不变。运行esze过程,选中A1单元格扩展为三行三列后的区域,如Error! Reference source not found.所示。图 单元格的引用方法1使用Resize属性调整区域大小1-6 使

25、用Unio方法使用Uno方法可以将多个非连续区域连接起来成为一个区域,从而可以实现对多个非连续区域一起进行操作,如下面的代码所示.001 Sub Uneet()#002 in(Sheet5。ane(1:4), Set5。Rang(E5:H8)).Select#003 Eu代码解析:UnSlect过程选择单元格A1:4和E:H8所组成的区域。Un方法返回两个或多个区域的合并区域,语法如下:pressi。Unon(Arg1, Ar2, 。.)其中参数expresn是可选的,返回一个Applcation对象.参数1, Arg2,。.是必需的,至少指定两个Rne对象。运行UnSelect过程,选中单元

26、格A1:D4和E5:H所组成的区域,如Error! Reference source not found.所示。图 1.Error! Bookmark not defined.使用Uon方法将多个非连续区域连接成一个区域1-7 使用UsedRange属性使用UsRange属性返回指定工作表上已使用单元格组成的区域,如下面的代码所示。#001 SbseSct()00 edRg。Seect03 End Su代码解析:UseSelect过程使用UsdRage属性选择工作表上已使用单元格组成的区域,包括空单元格。如工作表中已使用1单元格和D8单元格,运行seSlet过程将选择1到D8单元格区域,如Er

27、ror! Reference source not found.所示。图 Error! No text of specified style in document.。Error! Bookmark not defined.使用UseRange属性选择已使用区域1-8 使用CurrntRgion属性使用CurretRegion属性返回指定工作表上当前的区域,如下面的代码所示。01 b Crenelect()#002 SheetRage(5)urnegion。Seect003 End Sub代码解析:CurrentSelct过程使用uentRio属性选择工作表上5单元格当前的区域,当前区域是一个

28、边缘是任意空行和空列组合成的范围。运行reSlct过程将选择A5到B6单元格区域,如Error! Reference source not found.所示。图 Error! No text of specified style in document.Error! Bookmark not defined.urtRegion属性选择当前的区域技巧2 选定单元格区域的方法2-1 使用elet方法在VBA中一般使用elec方法选定单元格或单元格区域,如下面的代码所示。01 Su RngSelct()002 Sheet3。Actiate0 She3.Range(1:B0)。Seect#04 En

29、b代码解析:RngSelect过程使用elct方法选定heet3中的A:B1单元格区域,Select方法应用于Rang对象时语法如下:xression.Selct(Replce)参数xpsion是必需的,一个有效的对象。参数eple是可选的,要替换的对象.使用Select方法选定单元格时,单元格所在的工作表必需为活动工作表,所以在第行代码中先使用Activae方法使See3成为活动工作表,否则Sle方法有可能出错,显示如Error! Reference source not found.所示的错误提示。图 Error! No text of specified style in documen

30、t.。Error! Bookmark not defined.elec方法无效提示2-2 使用Aciat方法还可以使用ctve方法选定单元格或单元格区域,如下面的代码所示。#001 Su nctivate()0 Se3Activa003 Shet.Range(A:B1”).Ativae#00 En Sub代码解析:Rcivate过程使用ctiv方法选定Seet中的A1:B10单元格区域,Ativae方法应用于Rag对象时语法如下:expresion.Ativte使用Activae方法选定单元格时,单元格所在的工作表也必需为活动工作表,否则Activat方法有可能出错,显示如Error! Ref

31、erence source not found.所示的错误提示。图 2Error! Bookmark not defined.ivae方法无效提示2-3 使用oto方法使用Go方法无需使单元格所在的工作表成为活动工作表,如下面的代码所示。0 Su RgGto()#02 Applcation。Gotoefeence:Shet3。ng(A1:1), srl:=re#00 Endu代码解析:RngGt过程使用Goto方法选定Sheet3中的A1:B10单元格区域,并滚动工作表以显示该单元格。Goo方法选定任意工作簿中的任意区域或任意VisalBasic过程,并且如果该工作簿未处于活动状态,就激活该工

32、作簿,语法如下:xresn.Goto(Reference, Srll)参数xreio是必需的,返回一个Aplicaion对象。参数Reeence是可选的,Varint类型,指定目标.可以是ange对象、包含R样式记号的单元格引用的字符串或包含 Vsal Basic 过程名的字符串。如果省略本参数,目标将是最近一次用Gt方法选定的区域.参数croll是可选的,Vrint类型,如果该值为True,则滚动窗口直至目标区域的左上角单元格出现在窗口的左上角.如果该值为Fals,则不滚动窗口。默认值为Fals.技巧3 获得指定行、列中的最后一个非空单元格使用V对工作表进行操作时,经常需要定位到指定行或列中

33、最后一个非空单元格,此时可以使用Range对象的End属性,在取得单元格对象后便能获得该单元格的相关属性,如单元格地址、行列号、数值等,如下面的代码所示.#001 ub LstRow()002 Dm rng As Rang003 Se r =Sheet1.Range(6553).End(lU)0 MsgBo”A列中最后一个非空单元格是& ng.ddress(0, 0) _#005 ,行号” n.ow,数值& g。Vau006 Set rng= Nohin#07 End b代码解析:Latow过程使用消息框显示工作表中列最后非空单元格的地址、行号和数值.End属性返回一个Range对象,该对象代

34、表包含源区域的区域尾端的单元格.等同于按键E+向上键、E+向下键、Ed向左键或,语法如下:exprssin.nd(Directio)参数epression是必需的,一个有效的对象。参数Direction是可选的,所要移动的方向,可以为Error! Reference source not found.所示的XlDiretin 常量之一。常量值描述xlDwn411向下lToight4161向右xlToL-45向左xlUp-162向上表格 Error! No text of specified style in document.Error! Bookmark not defined.XlDire

35、tion常量Rang对象的E属性返回的是一个Range对象,因此可以直接使用该对象的属性和方法。运行LastRow过程结果如Error! Reference source not found.所示。图 获得指定行、列中的最后一个非空单元格1获得A列最后一个非空单元格通过修改相应的参数,能够获得指定行中最后一个非空单元格,如下面的代码所示。001 Sub LatClumn()00 Dim ng As Rnge#03 Stg =Sheet1ang(IV1).nd(xTef)004 MsBox ”第一行中最后一个非空单元格是 rn.Adress(0, 0) _#0 ”,列号&rgColumn & ,

36、数值 & rglue#006 St ng = Nothing#007 EndSub代码解析:LasColumn过程使用消息框显示工作表中第一行最后一个非空单元格的地址、列号和数值,如Error! Reference source not found.所示。图 获得指定行、列中的最后一个非空单元格Error! Bookmark not defined.获得第一行最后一个非空单元格技巧4 定位单元格在Ecl中使用定位对话框可以选中工作表中特定的单元格区域,而在VA中则使用SpecCells方法,如下面的代码所示.#001 SbSpeiaAdes()02 Dim rng s Range003 Set

37、 rn = angeSpeialCells(xlCellyeForulas)04 rng.elect0 o”工作表中有公式的单元格为: ” rn。dre006 St ng =Nthig#007 En Sub代码解析:SpcilAdess过程使用SpeaClls方法选中工作表中有公式的单元格,并用消息框显示其地址.SpecalCls方法返回一个Range对象,该对象代表与指定类型及值相匹配的所有单元格,语法如下:exprsioSecialCell(Tye, Val)参数eresn是必需的,返回一个有效的对象.参数Tpe是必需的,要包含的单元格,可为Error! Reference source

38、not found.所列的XlelTye常量之一。常量值描述CellTypeAloratConditons-任意格式单元格lCelTypAllldato474含有验证条件的单元格xlCellyeBlanks4空单元格xlCellyeommen4144含有注释的单元格xlCellTyeonstants2含有常量的单元格xlCellTpeFomulas4123含有公式的单元格CellTypLsCell1使用区域中最后的单元格xlellTpeSameFormanitos13含有相同格式的单元格xlCellTypeaeVlitin45含有相同验证条件的单元格lellTyeVisile2所有可见单元格表

39、格 4Error! Bookmark not defined.XlCllTp常量第3行代码将SpilCes方法的Ty参数设置为xlCellTypeForuas,返回的是含有公式的单元格,通过修改相应的参数可以返回不同的单元格。参数Vlue是可选的,如果Typ参数为lCellTypeCntans或xlCelTypeFmulas,此参数可用于确定结果中应包含哪几类单元格。将某几个值相加可使此方法返回多种类型的单元格。如果省略将选定所有常量或公式,可为Error! Reference source not found.所列的 lSpeclCellale常量之一。常量值描述xErrors16错误xLo

40、gial4逻辑值xlNube1数字xlTexaue文本表格 Error! No text of specified style in document.1XSpeciaCelsVlue常量第5行代码使用消息框显示工作表中含有公式单元格的地址。peialCels方法返回的是Ra对象,因此可以直接使用该对象的属性和方法。运行SpeciaAdress过程结果如Error! Reference source not found.所示.图 4。Error! Bookmark not defined.Specilells方法技巧5 查找单元格5-1 使用Find方法在Exce中使用查找对话框可以查找工作表

41、中特定内容的单元格,而在VBA中则使用Find方法,如下面的代码所示.001 SbRgFind()0 Dim Srinds String003 DimRng A Range#00 StFid = IputBox(请输入要查找的值:”)#005 If Tim(StrFid) ” Ten#006 With Shet1。Rn(”:A)#00 Se R=.Find(at:Strind, _8 After:=.ls(.Cels。Cunt), _09 LokI:xlae, _#010 Lookt:=xlWhol, _11 achOrder:=lBo,_012 Searchrti:=xlNext, _#01

42、 atchCae:=Fle)14 If NotRn I Nohing Th#015 Applcat。Gt Rng, Tr0 Els#1 sgBo 没有找到该单元格!018 Ed If01 nd W020 E f021 EndSub代码解析:RngFind过程使用id方法在工作表Sheet的A列中查找InputBo函数对话框中所输入的值,并查找该值所在的第一个单元格.第6到第1行代码在工作表Shee的列中查找InputBo函数对话框中所输入的值。应用于ange对象的ind方法在区域中查找特定信息,并返回Rane对象,该对象代表用于查找信息的第一个单元格。如果未发现匹配单元格,就返回Noti,语法

43、如下:exrsion.Fn(Wha,Afte, LookIn, okA, earchOre, SerhDireto,Matchas,MachByte, erhFomat)参数exressin是必需的,该表达式返回一个Rag对象。参数What是必需的,要搜索的数据,可为字符串或任意数据类型。参数Afer是可选的,表示搜索过程将从其之后开始进行的单元格,必须是区域中的单个单元格。查找时是从该单元格之后开始的,直到本方法绕回到指定的单元格时,才对其进行搜索。如果未指定本参数,搜索将从区域的左上角单元格之后开始。在本例中将Afer参数设置为A列的最后一个单元格,所以查找时从A1单元格开始搜索.参数Lo

44、kIn是可选的,信息类型。参数ookAt是可选的,可为XlLokAt常量的xlWhe 或xlPat之一.参数erchOrd是可选的,可为XlSerchOrdr常量的xlyRows或xlCum之一。参数SarchDiein是可选的,搜索的方向,可为XarDirecti常量的lext或xlrevios之一.参数MathCase是可选的,若为True,则进行区分大小写的查找。默认值为Fale。参数MatchBy是可选的,仅在选择或安装了双字节语言支持时使用。若为Te,则双字节字符仅匹配双字节字符。若为lse,则双字节字符可匹配其等价的单字节字符。参数SercForat是可选的,搜索的格式。每次使用F

45、ind方法后,参数okIn、ookA、SearchOrer 和MatchByt的设置将保存。如果下次调用Find方法时不指定这些参数的值,就使用保存的值.因此每次使用该方法时请明确设置这些参数。如果工作表的A列中存在重复的数值,那么需要使用FinNe方法或FidPios方法进行重复搜索,如下面的代码所示.001 Su RngidNet()#0 DimStind sStig0 Dim Rn As Rane00 D idAdress Astng#05 trinInutBox(”请输入要查找的值:)06 If Trm(SFin) ” The#07 th Sheet1Range(”A:”)#00 S

46、Rng = .Find(What:=StFind, _09 Afr:Cell(.Cellon), _#10 LokIn:=xllues, 011 LooAt:xlWhole, _12 SeachOrder:=xBRows,_#013 earchDircion:=lNext, _014 chCse:False)015 If Not Rn I NtngThen06 Fiddres=g。Aress#0 Do018 Rng.Interor.Clornde 609 Set Rng = .Findext(Rn)#0 oop ile ot Rng s Nothing An Rng。dess FdAddres

47、021 nd If02 End Wh#23 End #24 n Sub代码解析:ngFindNex过程在工作表heet1的A列中查找nputox函数对话框中所输入的值,并将查到单元格底色设置成黄色。第8行到第17行代码使用Fnd方法在工作表e1的列中查找.第16行代码将查找到的第一个单元格地址赋给字符串变量iAdre。第1行代码将查找到的单元格底色设置成黄色。第1行代码使用indNet方法进行重复搜索。FidNxt方法继续执行用Find方法启动的搜索。查找下一个匹配相同条件的单元格并返回代表单元格的Range对象,语法如下:xpresso。FindNex(ftr)参数xpresson是必需的,

48、返回一个Range对象。参数Ater是可选的,指定一个单元格,查找将从该单元格之后开始。第2行代码如果查找到的单元格地址等于字符串变量FidAdres所记录的地址,说明列已搜索完毕,结束查找过程。运行gFndNext过程,在Iptox函数输入框中输入“96.1”后结果如Error! Reference source not found.所示.图 查找单元格Error! Bookmark not defined.使用FidNxt方法重复搜索还可以使用FindPevous方法进行重复搜索,FindPevou方法的语法如下:exrssion.FidPreviou(Atr)FindPreius方法和i

49、ndNxt方法唯一的区别是FidPreious方法查找匹配相同条件的前一个单元格而FindNext方法是查找匹配相同条件的下一个单元格。5-2 使用Lik运算符使用Like运算符可以进行更为复杂的模式匹配查找,如下面的代码所示.01 Sub RngLik()#002 Dim rng As Range#003 Dim as Inteer#04 a = 1#005 Wth She206 .Range(A:”)Cearonet0 Fr Eh rng In Range(”B1:100”)#0 If rng。Txt Like a The#009 。Rge( ) =rng.Text010 a= + 1 dIf#012 Nex#03 Ed With#1 End Sub代码解析:RngLke过程使用or Ea.。Nxt语句和运算符在单元格区域B1:E100中搜索含有“a”字符的单元格,找到匹配单元格以后将单元格的值写入到

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!