Excel2023高级VBA编程宝典_第1页
Excel2023高级VBA编程宝典_第2页
Excel2023高级VBA编程宝典_第3页
Excel2023高级VBA编程宝典_第4页
Excel2023高级VBA编程宝典_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——Excel2023高级VBA编程宝典

VBA编程规则

1、在自定义函数前加上Private关键字进行声明,该函数将不会出现在Excel的“粘贴函数〞

对话框中,但依旧可以在公式中运用它们。假使是专门为其他的VBA过程开发的自定

义函数,则应当使用Private关键字进行声明。

2、寻常,用户自定义函数后,在“粘贴函数〞对话框中将会出现在“用户定义〞类别中。假使希望自定义函数出现在其它的类别中,必需编写和执行VBA代码为自定义函数指定类别。如运行Application.MacroOptionsMacro:=〞SumPro〞,Category:=4语句后,将自定义的SumPro函数指定给“统计函数〞类别。

3、与Sub过程不同,自定义函数Function过程并不出现在宏对话框中;当执行VBE编辑器中的“运行——运行子过程/用户窗体〞命令时,假使光标位于某Function过程中,就不能获取宏对话框并从中选择要运行的宏。因此,在开发过程的时候,必需采取其它方式对自定义函数进行测试,可以设置调用该函数的过程;假使该函数是用在工作表公式中的,可以在工作表中输入简单的公式进行测试。

4、假使在公式中使用了自定义函数,但返回值“VALUE!〞,说明函数中有错误。错误的原因可能是代码中的规律错误、可能给函数传递了不正确的参数、可能执行了禁用的动作如试图更改单元格的格式。

5、在自定义函数中使用参数时,可选参数必需在任何必需的参数之后。在参数名称前加上关键字Optional即可指定一个可选的参数。

假使必需确定某可选的参数是否传递给了某函数,应将该参数声明为Variant类型,然后在过程代码中使用IsMissing函数来进行判断。

要创立包含不定数量参数的自定义函数,使用一个数组作为最终一个(或惟一的)参数,并在数组前面加上关键字ParamArray。关键字ParamArray只能用于参数列表中的最终一个参数,其数据类型总是Variant并且是一个可选的参数。6、在自定义函数的程序代码中,应确保至少有一次把适合的值赋给了函数的名称。7、函数的名称必需遵循一定的规则(与变量名称一致)。最好不要采取与单元格地址一致的形式,并且还要避免使用与Excel内置函数名称一致的名称,否则,Excel会使用内置函数。

8、假使想将Case关键字和相应的语句放在同一行上,在Case语名与相应语句间加上分隔符冒号(:)。

9、寻常状况下,VBA中对文本进行比较等操作是区分大小写的,若将语句OptionCompareText添加到模块的顶部,则程序执行时不会区分大小写。10、要处理单元格区域,在代码中不必先选项中该单元格区域。二

1、编写自定义函数时,必需在VBA模块中,而不是在与ThisWorkbook、工作表和用户窗体关联的代码模块中。

2、假使代码要选中单元格区域,则该区域所在的工作表必需是活动的,可以使用Activate方法来激活某工作表。

3、尽量在VBA代码中使用命名的单元格区域。

4、当通过快捷键选择单元格区域的时候,假使用宏录制器生成代码,则要认真检查代码中是否有对选中的实际单元格录制硬编码的引用。

5、假使某个宏应用于当前单元格区域中的每个单元格,但用户可能会选中整行或整列,寻常,我们不需要遍历选区中的每个单元格,那么这个宏应创立一个子选区,使其只由非空单元格组成。

6、Excel允许同时有多个选区。

7、若定义了单元格区域的名称,则在代码中使用定义的名称时,即使在名称单元格区域中添加或删除了行或列,也能确保正确使用该单元格区域。

8、在VBA代码中使用解释,可以简要描述编写的每个过程的目的、对过程所做的任何修改、描述变量的目的等。

通过使用VBE中“编辑〞工具栏的“设置解释块/解除解释块〞,也可以将VBA语句暂时设置成解释块,以便于调试。

9、在工作表中编辑控件。在拖动控件的同时按Alt键,按钮将与工作表的网格线对齐;在拖动的同时按Shift键,按钮成正方形

10、寻常,将Application对象的EnableEvents属性设置为False即可阻止事件发生。但要注意的是,这个属性只对真正的Excel对象(如Workbooks,Worksheets,Charts等)的事件产生作用。2、Excel2023

高级VBA编程宝典》学习体会

这是一本真正带我走正VBA编程殿堂的书!三个月前,在新华书店闲逛时,我发现了她,突然间感觉如获至宝,这不正是自已梦寐以求的书吗。于是,我开始了对本书的阅读。渐渐地,对VBA有感觉了,自已好像入门了,以前模糊的概念也变得明了了,自已能看得懂别人的程序了,自已也会写出自已的程序了,调试程序的成功率大大提高,还会一些技巧了。更为重要的是,随着自已的进步,对VBA编程的兴趣也日渐浓重,也使得自已能得以坚持的学习,自然而然地,VBA的编程水平也得到了逐步提高。

想起自已刚开始学习VBA的激情,却总被一次次的挫折和失败所打倒:自已也看了不少的书,却总是入不了门;很简单的问题,也不会编程解决,也总是纳闷别人怎么能写出程序来,自已为什么不能;我看过这么多书了,我也仿照着把程序编写出来了啊,怎么调试总是出错呢?《Excel2023高级VBA编程宝典》(下面简称《宝典》)重新激发了我对VBA的热心,简直有了点爱不释手、相见恨晚的感觉。可能正应了那段话:有些书根本不能读,有些书您只需略读,有些书您浏览一遍就行了,有些书您需择其重点而阅,有些书要作为工具书随时查阅,而有些书则需要精读,细细的品味、反复的咀嚼。《宝典》正是这样一本您不仅需要一页一页认真阅读和理解,而且可以将之作为工具书使用的书。在这本书上花费时间,您绝对是值得的,由于随着您阅读的增多,您的VBA编程水平也会有质的飞跃。这是一本内容全面的书,全书共分为8大部分。首先从Excel的起源开始,陈述了Excel的历史,并阐述了Excel应用程序软件的角色和地位;然后概略地陈述了Excel的各项界面和功能,以及公式技巧,并全面介绍了Excel的文件格式。接着,用2章的篇幅详细回复了为什么要进行Excel应用程序开发,应用程序开发的程度,以及怎样进行应用程序开发等问题。本书下面的内容,就进入VBA编程的正题了。首先介绍了VBA的编程环境、VBA语言元素和基本的语法基础,然后详细讲解了VBA的两个重要的过程:Sub过程和Function过程,并通过大量的例如演示了VBA的编程方法和技巧。接下来,用4章的内容陈述了VBA与用户交互的工具——用户窗体,在这些章节中,详细陈述了用户窗体的基本知识、常用的控件和用户窗体编程的一些方法技巧。在本书的第5部分,通过一个实用程序的开发,演示了程序开发的步骤和方式;然后讲解了用VBA操作数据透视表和图表的知识;再用一章的篇幅介绍了Excel的各类事件;最终,陈述了Excel如何与其他应用程序交互,以及如何创立和使用加载宏。在第6部分详细介绍了大家很感兴趣了定制Excel界面的知识,即如何创立自定义工具栏和如何创立自定义菜单。在本书的剩余部分,全面介绍了怎样为应用程序提供帮助文档、Excel的版本和语言等的兼容性问题、如何用VBA来处理文件、如何处理VB组件、

类模块知识等方面的内容,列出并回复了在Excel编程中常见的问题。

这是一部大部头的书,全书近700页。因此,在阅读本书时,您需要有恒心。当然,假使您是真正的Excel爱好者,对ExcelVBA感兴趣,相信您会坚持下去的,并且我也相信,书中的知识和您的进步将会激起您的阅读欲望和更浓的兴趣。

这本书中的内容博大精深,囊括了ExcelVBA编程的方方面面。在一开始,自已就将本书全面阅读完了一遍,大致了解了本书的结构,也感觉到在开始学习时不可能面面惧到,这样会适得其反。因此,我确定了自已先从基础学起,重点突破,以点带面,逐步加深的学习原则。在这三个月里,自已利用工作之余,反复阅读学习和实践着自已认为应当理解和把握的基础部分,虽然其它部分还未深入涉及,但我相信,基础把握稳固后,其它的部分就水到渠成了。下面,就我自已在现有阅读基础上对本书的理解,谈谈《宝典》的特点:

1、本书内容全面,组织结构合理,从上面简要的介绍也可窥知。本书先讲解了VBA编程的语法知识,并穿插着Excel对象模型,然后进入用户窗体的讲解,直至高级应用。书中的每一部分,每一章节都是依照由基础到高级应用的结构安排的,由浅入深,讲解透彻。

2、在您阅读本书前,需要一些Excel本身的基础知识。这也是由ExcelVBA编程自身的特点所决定的,由于ExcelVBA是对Excel应用程序的操作,您自然需要先了解Excel了,这样才能更好地控制和操作它。在本书的第一部分,也全面概述了Excel的基础知识,当然,假使您在阅读本书前,阅读一下所著的《中文版Excel2023宝典》,效果会更好。

3、书中有大量的VBA例如和语句。这也是写作的方式吧,由于并不想把本书写成一本晦涩难懂的理论书,而是想通过浅显简单的例如来对各个知识点进行说明,这样学习起来更简单理解,也更快捷。

4、在书中穿插讲解了好多编写VBA程序的好习惯,以及一些重要的方法和技巧。譬如,强制对所有变量进行声明、在语句中,即便是默认的属性也要写全、调用子程序时,最好写上Call关键字、擅长在程序代码中加上解释;对长对象的引用、尽量使用With…EndWith构造等。还有,应用程序的开发过程,以及VBA程序编写中的一些细节问题。

5、您也可以将本书作为一本工具书来使用。当您在实际工作中碰见问题时,您可以查阅本书的相关部分。

6、书中也介绍了好多VBA的学习方法,并且很具有概括性。下面辑录一些:(1)把握最好的方式就是使用。

(2)通过例如可以加速学习程序设计概念的过程。

(3)寻常,设计良好的例如比对基础理论的表达更具有说服力。(4)好的教材和例如是提高的得力助手。

(5)实用程序不一定很繁杂,有一些最有用的实用程序实际上十分简单。

(6)假使有很切实的目标,学习VBA就会更快。起先很难把握VBA,但是具体的实践会使其简单好多;试验是把握VBA的关键;Excel几乎可以做任何事情;加强对VBA源代码的学习,特别是高质量源代码的学习。

我想,这也是老外写书的一些特点吧。在他们的书中,不仅很详细地介绍知识,而且不时地告诉读者如何学习,还带有一些富含哲理的语言。

《宝典》是一本经典读书,四处闪烁着知识的火花。她经得起反复阅读,并且每次阅读都有新的收获和感受。本书内容丰富,适合不同的VBA层次的读者。根据本书的特点和自已的阅读经验,建议不同水平的读者阅读方法如下:

1、对于初学者和刚入门的读者,您可以先阅读学习第3部分,本人觉得对于初学者,该部分绝对是精华,值得反复研读。然后学习用户窗体知识,就是第4部分的第12章、第13章和第14章。接下来,可以学习第19章,理解Excel的事件。最终,是第22章和第23章,来创立自定义工具栏和菜单。2、对于已有一定VBA编程经验的读者,您可以将上述章节通读一篇,主要是关注所介绍的一些

方法技巧和经验,然后,再阅读学习VBA编程的高级部分,即用户窗体的高级技巧、操作数据透视表和图表、开发实用程序、与其它应用程序交互、创立和使用加载宏、处理文件和VB组件、以及类模块等方面的知识。

3、对于已熟练把握VBA编程的读者,通读本书,您也能找到一些好的方法技巧和经验,并且还能作为您的工具书,以备不时之需。

4、在阅读本书时,您要注意总结归纳,例如,语法规则、优秀的例如、好的方法技巧等。我总认为,有总结归纳,基础才能打扎实,才能有更大的收获和提高。

当然,任何事物都不可以是完美的,总会有其不足的地方。就我个人的理解,感觉到《宝典》可能存在以下的不足,这也可能与写作的思路和方式有关。

1、没有专门的详细讲解Excel的对象模型,而是穿插着在例如中使用,因此,有些例如可能难于理解。因此,您在阅读本书的基础上,再配备一本专门介绍Excel对象的书,效果将会更好。

2、对ExcelVBA与外部数据结合应用的知识介绍很少,好像只用了一小节。因此,建议在理解和把握本书的大部分内容后,再找一些书和资源,学习操作外部数据库的知识,将会对Excel的功能大为扩展,也顺应电子表格技术发展的潮流。

3、自已感觉书中译文稍有欠缺。不过,您理解就行了,特别是对模糊的部分,您可以结合上下文来理解。

读书对我们来说是很重要的,正如所说“好的

温馨提示

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

评论

0/150

提交评论