ExcelVBA常用代码实战大全.pdf

所需积分/C币:41 2019-07-19 14:11:13 60.29MB PDF
收藏 收藏
举报

《Excel VBA常用代码实战大全》重点强调实践性,旨在帮助Excel初学者和有一定ExcelVBA编程基础、希望进一步提高的读者掌握VBA编程设计的技巧。全书精选150个典型范例,近245个技巧,以实用为主,知识点针对性强,并逐层对代码辅以深入浅出地剖析,让读者通过范例的学习,快速将ExcelVBA编程应用到实际生活和工作中。
本书重点强调实践性,旨在帮助 Excel初学者和有一定 Excel vba编程基础、希望进一步提高的读者掌 握VBA编程设计的技巧。全书精选150个典型范例,近245个技巧,以实用为主,知识点针对性强,并逐 层对代码辅以深入浅出地剖析,让读者通过范例的学习,快速将EκceIⅤBA编程应用到实际生活和工作中。 本书主要介绍VBA常用对象的应用技巧、控件及用户窗体的应用技巧、对话框的应用技巧、函数的应 用技巧,使用VBA操作文件等技巧,最后介绍了制作员工花名册、收据打印系统、员工考勤系统三个综合 实例。 本书内容丰富、图文并茂,适合初步掌握ⅤBA的基本知识,但需要进一步提高编程能力的初学者,以 及希望通过VBA提高工作效率的各类从业人员。也适合各大、中专院校相关专业师生和企业、相关单位的 培训班学员阅读。 图书在版编目(c|P)数据 ExcelⅥBA常用代码实战大全/袁竹平编著. 北京:化学工业出版社,2010.7 ISBN9787-122-08647-1 ISBN978-7-8972290-4(光盘) I.E…Ⅲ.袁…Ⅲ电子表格系统, Excel ⅣV,TP391,13 中国版本图书馆CIP数据核字(2010)第093341号 责任编辑:王思慧张敏 装帧设计;王晓宇 责任校对:周梦华 出版发行:化学工业出版社(北京市东城区青年湖南街13号邮政编码100011) 印装:化学工业出版社印刷厂 787mmx1092mm1/16印张24/4字数583千字2010年7月北京第1版第1次印刷 购书咨询:010-64518888(传真:010-64519686)售后服务:010-64518899 址:ht!www.clp.com.cn 凡购买本书,如有缺损质量问题,本社销售中心负责调换。 定价:59.80元(含1CD-RDM) 版权所有违者必究 Excel2007是Oce家族成员中功能强大、技术先进、使用方便的数据管理和分析系统。 它采用电子表格方式进行数据处理,工作直观方便 为了使 Excel2007发挥最大功效,可以使用ⅤBA开发电子表格应用程序。使用VBA可 以为 Excel应用程序提供新的功能或增强现有的功能,从而减少在 Excel中进行操作所需的 工作量。 VBA语言简单易学,但功能非常强大。用户可以将 Excel作为开发平台,建立各种应用 程序。例如实现使重复的任务自动化,简化模板的使用,使其成为开发平台,创建报表以及 对数据进行复杂的操作和分析等。通过将VBA与 Excel结合起来,不仅可以提高工作效率, 也使得对各种数据的处理得心应手。 本书特色 实例丰富,强调实践 为了让读者易于理解概念,掌握编程设计的技巧,本书列举∫大量范例。范例的选择力 求做到与知识点密切结合并突出应用技巧;范例的设计以读者易于理解为目标,同时突出实 用性,能够解决在实际操作中遇到的问趣。通过这些范例,读者便可更加深入地理解相关概 念和语法,从而达到灵活使用VBA编写应用程序的目的 另外,本书重点强调实践性,书中的很多范例都来源于编者实际开发的程序,通过对这 些范例的学习,可以增强读者的动手实践能力。 2.优化代码,解析详细 基于 Excel的VBA程序设计,代码并不复杂、算法并不高深,实用并简便易行才是真正 需要的。本书摒弃了VBA复杂理论的讲解,在选择知识讲解的重点和范例的设置上以需要 为先,以实用为主,知识点针对性强,代码短小精炼。这极大地优化了本书的内容结构,增 强了本书的含金量。本书所涉及的程序源代码层次清楚,语句简洁,便于读者理解,代码解 析内容丰富。 3.循序渐进,难度适中 本书面向 Excel VBA的初级用户,以让读者快速掌握 Excel vBA程序设计为目标。本书 在结构上采用由浅入深的方式,站在初学者的立场,以解决初学者可能遇到的问题和急需掌 握的知识为主线,来完成本书的编写。本书采取循序渐进的讲解方式,层层推进,步步深入, 学习难度遹中,学习梯度设置科学,让读者非常容易掌握 4.超值光盘,辅助学习 为了帮助读者更直观地学习,本书所附光盘中提供了书中所有范例的VBA代码文件, 目录 第1章 Range(单元帕)对象 范例1单元格的引用方法, 111 1-1使用 Range属性引用单元格区域 1-2使用Cls属性引用单元格区域…1 1-3使用快捷记号实现快速输入 世世虚世虚1世世出世哲甘世世世 223 1-4使用Oset属性返回单元格区域 1-5使用 Resize属性返回调整后的单元格区域… 范例2选定单元格区域的方法 2-1使用 Select方法选定单元格区域 2-2使用 Activate方法选定单元格区域. 2-3使用Goto方法选定单元格区域… 范例3获得指定行的最后一个非空单元格 范例4使用 Specialcells方法定位单元格… 444566899 范例5查找特定内容的单元格 5-1使用Find方法查找特定信息…11111 5-2使用Lke运算符进行模式匹配查找.11111112 范例6替换单元格内字符串,… 范例7复制单元格 14 7-1复制单元格区城 7-2仅复制数值到另一区域 17 范例8禁用单元格拖放功能∴ 18 范例9设置单元格格式 19 9-1设置单元格字体格式 中 9-2设置单元格内部格式… 20 9-3为单元格区域添加边框… terete --- 21 范例10单元格的数据有效性…124 10-1添加数据有效性…1111111 24 10-2判断是否存在数据有效性, +;++;“a和;“,:“ 26 103动态的数据有效性…… 范例11单元格中的公式 味…于 28 11-1在单元格中写入公式… 28 112判断单元格是否包含公式 …11130 11-3判断单元格公式是否存在错误……… 31 11-4取得公式的引用单元格.… 32 第1章 Range(单元格)对累 范例1单元格的引用方法 在VBA中经常需要引用单元格区域,主要有以下几种方法 1-1使用 Range属性引用单元格区域 使用 Range属性以Al样式引用单元格区域,范例代码如下: #001 Sub MyRng ( 排002 Range("Al: B4, D5: E8").Select 003 Range("Al), Formula s-Rand ( #004 Range("Al: B4 B2: C6). Value= 10 #005 Range("A1", B4 ).Font. Italic= True #006 End Sub 【代码解析】 MyOng过程使用 Range属性以AF样式引用单元格区域 应用于 Range对象的 Range属性代表一个单元格或单元格区域,语法如下 表达式, Range(ce111,ce112) 参数Cel是必需的,必须为采用宏语言的A1样式引用,可包括区域操作符(冒号)、 相交区域操作符(空格)或合并区域操作符(逗号),也可包括货币符号(即绝对地址,如 “$A$1”,但会被忽略掉),还可以使用局部定义名称,如 Range(" MyRna"),其电 MyRng为 已定义的单元格区域名称。 参数Ce2是可选的,为区域左上角和右下角的单元格。可以是一个包含单个单元格、 整行或整列的 Range对象,或是一个局部定义名称 第2行代码使用 Select方法选定工作表的 下第3行代码在工作表的A1单元格中写入公式 A1:B4、D5:E8单元格区域 第4行代码将工作表中A1B4单元格与B2C 单元格的相交区域B2:B4单元格赋值为10 第5行代码将工作表中A1D4单元格的字体样9 式设置为斜体 10 :跟果,设?于, 【运行结果】运行 MyRna过程,结果如图11图11使用 Range属性弓用单元格区域 所 Exce|VBA常用f码实战大全 注意:在没有使用对象识别符的情况下, Range属性返回活动表的一个区域,如果 活动表不是工作表,则该属性无效 『知识扩展』在实际应用中,引用合并区域可以使用 Union方法。引用相交区域可以 使用 Interswct方法。 1-2使用Ces属性引用单元格区域 cell属性返回一个 Range对象,代表指定单元格区域中的所有单元格。 Cells属性有 个tem属性,可以通过tem属性的行、列编号来引用单元格,范例代码如下: #001 Sub MyCell() #002 Dim i As Byte 03 For 1-1To 10 井004 Sheets("Sheet1").Cells(if 1). Value=i #005 Next #006 End Sub 【代码解析】MyCl过程在工作表的A1A10单元格区域依次输入序号。 第3行代码使用For.Next语句重复执行第4行代码10次。For.Next语句是最常见的 循环结构,在For和Next之间的语句将运行指定的次数。 第4行代码使用Cell属性的ltem属性,通过行、列编号来引用A1-A10单元格,其 中行编号为变量,它的值为For.Next语句中计数器的值 Cells属性的Item属性的语法如下 Cells. Item(Row, Column) 因为Item属性是 Range对象的默认属性,所以可以在cell关键字后面紧接着指定行和 列编号,如Ccll(1,1)引用A1单元格。 在需要引用不确定的单元格区域时, Cells属性的参 BALAC D 数可以使用变量,它比使用 Range属性更加方便。 2 3 卿注意:在没有使用对象识别符的情况下,Cels 56789 属性将返回一个 Range对象,代表活动工作表中所有的 7 单元格 【运行结果】运行 MyCell过程,结果如图1-2所示 r知识扩展:用户可以将Cels属性作为 Range属 -2使用 Cells属性引用单元格区域 性的参数使用,下面的代码将引用A1:B10单元格区域: Range(ce11(1,1),ce11(10,2) 1-3使用快捷记号实现快速输入 在VBA中可以使用方括号作为 Range属性的快捷方式,这样就不必输入单词“ Range 2· 第1章 Range(单兀)对象 和使用引号,范例代码如下 #001 Sub FastMark( 002 A1]="Exce12007" #003 End Sub 【代码解析】 FastMark过程使用快捷记号为A1单元格赋值 第2行代码使用快捷记号在工作表的A1单元格中输入字符串“ Excel200”。 【运行结果】运行 FastMark过程,结果如图1-3所示。 心注意小:使用快捷记号引用单元格区城时,只能使 这A 用固定字符串而不能使用变量。 I:Excel 2007 知识扩展:使用快捷记号同样可以利用 Range属 性的各种表示方法,如表示交又范围的[A1:B4BC6]、合5 并区域的[A1:B4,B2C6]等,也可以使用局部定义名称,下 面的代码将工作簿中已命名为“Rng”的单元格区域赋值图13使用快捷记号为单元格赋值 为4 Sheets("Sheet1").[Rng]=4 14使用 Offset属性返回单元格区域 在VBA中,除了以上三种直接引用单元格的方法外,还可以使用 Offset属性来引用某 个指定区域以外的单元格区域,范例代码如下: #001 Sub Rngoffset () 002 Sheets("Sheet1"). Range("Al: B2").Offset (2, 2). Select #003 End sub 【代码解析】 RngOffset过程使用 Range对象的Oset属性,选中Al:B2单元格,偏移 两行两列的单元格区域 应用于 Range对象的 Offset属性代表位于指定单元格区域的一定偏移量位置上的单元格 区域,语法如下: 表达式. ofFset( RowOffset, Columnoffset) 参数 RowOffset是可选的,表示区域偏移的 行数,正值表示向下偏移,负值表示向上偏移 默认值为0。参数 Columnoffset是可选的,表示 区域偏移的列数,正值表示向右偏移,负值表示 向左偏移,默认值为0。 【运行结果】运行 Rngoffset过程,选中 图1.4使用Oet属性返回单元格区域A1:B2单元格,偏移两行两列的单元格区域,如 图1-4所示 Excel VBA常用代們实战大全 15使用 Resize属性返回调整后的单元格区域 用户还可以使用 Resize属性调整指定单元格区域的大小并返回调整后的单元格区域,范 例代码如下 #001 Sub RngResize ( 002 Sheets(Sheet1), Range("Al"), Resize(4, 4).Select #003 End sub 【代码解析】 Rngresize过程使用 Resize属性选中A1单元格扩展为四行四列后的单元格 区域。 应用于 Range对象的 Resize属性调整指定区域的大小并返回调整后的区域,语法如下: 表达式, Resize( RowSize, Columnsize) 参数 RowSize是可选的,为新区域中的行数,如 果省略,则该区域中的行数保持不变。参数 ColumnSize是可选的,表示新区域中的列数,如果省 略,则该区域中的列数保持不变。 【运行结果】运行 RngResize过程,选中A1单 图1.5使用 Resize性调整单元格区域元格并扩展为四行四列后的区域,如1-5所示 范例2选定单元格区域的方法 21使用sect方法选定单元格区域 在VBA中一般使用 Select方法选定单元格区域,范例代码如下: #001 Sub Rng Select() 002 Sheets(Sheet2), Activate 003 Sheets("Sheet2 )Range(Al: B10").Select #004 End Sub 【代码解析】 RngSelect过程使用 Select方法选定 Sheet2工作表的A1:B10单元格区域 第2行代码利用 Activate方法使 Sheet2工作表成 为活动工作表,使用 Select方法选定单元格时,单元格 kicroanft Yinai Bar 所在的工作表必须为活动工作表,否则 Select方法将发画行啊'ior 类an的5elet光无赞 生运行错误,如图1-6所示 第3行代码使用 Select方法选定 Sheet2工作表的 A1:B10单元格区域 结束)变 帮肋c 【运行结果】运行 RngSelect过程,结果如图1-7 所示。 图1-6 Select方法无效提示 4 第1章 Range(单格)对象 江用5c方站识读 Microsoft 入局式数 开发绳 料鱼, 图1-7使用 Select方法选定单元格区域 22使用 Activate方法选定单元格区域 用户还可以使用 Activate方法选定单元格区域,范例代码如下: #001 Sub RngActivate () #002 Sheets ("Sheet2"). Activate 003 Sheets("Sheet2"). Range("Al: B10 ).Activate #004 End sub 【代码解析】 RngActivate过程使用 Activate方法选定Sh工作表的A1:B10单元格区域。 第2行代码利用 Activate方法使 Sheet2工作表成为活动工作表。使用 Activate方法选 定单元格时,单元格所在的工作表必须为活动工作表,否则 Activate方法将发生运行错误, 如图1-8所示。 第3行代码使用 Activate方法选定Shet2工作表的Al:B10单元格区域 【运行结果】运行 RngActivate过程,结果如图1-9所示。 9)2用A法m, Microsoft Exces Microsoft isual Basic 运行时储误:004 类B4ng的 heti vit方法无效 (魅束g)」[式 帮助 图1-8 Activate方法无效提示 图1-9使用 Activate方法选定单元格区域

...展开详情
试读 127P ExcelVBA常用代码实战大全.pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    一个资源只可评论一次,评论内容不能少于5个字
    acerzh 资源还不错,可以参考学习。
    2020-05-06
    回复
    img
    hhthzd
    • 签到新秀

      累计签到获取,不积跬步,无以至千里,继续坚持!

    关注 私信 TA的资源

    上传资源赚积分,得勋章
    最新推荐
    ExcelVBA常用代码实战大全.pdf 41积分/C币 立即下载
    1/127
    ExcelVBA常用代码实战大全.pdf第1页
    ExcelVBA常用代码实战大全.pdf第2页
    ExcelVBA常用代码实战大全.pdf第3页
    ExcelVBA常用代码实战大全.pdf第4页
    ExcelVBA常用代码实战大全.pdf第5页
    ExcelVBA常用代码实战大全.pdf第6页
    ExcelVBA常用代码实战大全.pdf第7页
    ExcelVBA常用代码实战大全.pdf第8页
    ExcelVBA常用代码实战大全.pdf第9页
    ExcelVBA常用代码实战大全.pdf第10页
    ExcelVBA常用代码实战大全.pdf第11页
    ExcelVBA常用代码实战大全.pdf第12页
    ExcelVBA常用代码实战大全.pdf第13页
    ExcelVBA常用代码实战大全.pdf第14页
    ExcelVBA常用代码实战大全.pdf第15页
    ExcelVBA常用代码实战大全.pdf第16页
    ExcelVBA常用代码实战大全.pdf第17页
    ExcelVBA常用代码实战大全.pdf第18页
    ExcelVBA常用代码实战大全.pdf第19页
    ExcelVBA常用代码实战大全.pdf第20页

    试读已结束,剩余107页未读...

    41积分/C币 立即下载 >