Excel2021高级VBA编程宝典
    vba编程规则
    1.在自定义函数前添加private关键字进行声明,该函数不会出现在Excel的“粘贴函数”中
    对话框中,但仍然可以在公式中运用它们。如果是专门为其他的vba过程开发的自定
    函数,您应该使用private关键字来声明。
    2、通常,用户自定义函数后,在“粘贴函数”对话框中将会出现在“用户定义”类别中。如果希望自定义函数出现在其它的类别中,必须编写和执行vba代码为自定义函数指定类别。如运行application.macrooptionsmacro:=”sumpro”,category:=4语句后,将自定义的sumpro函数指定给“统计函数”类别。
    3.与子过程不同,自定义函数过程不会出现在宏对话框中;在VBE编辑器中执行“运行-运行子过程/用户窗体”命令时,如果光标位于函数过程中,则无法获取宏对话框并从中选择要运行的宏。因此,在开发过程中,必须采用其他方法来测试自定义函数,并且可以设置调用
该函数的过程;如果在工作表公式中使用此函数,则可以在工作表中输入一个简单的公式进行测试。
    4、如果在公式中使用了自定义函数,但返回值“value!”,表明函数中有错误。错误的原因可能是代码中的逻辑错误、可能给函数传递了不正确的参数、可能执行了禁用的动作如试图更改单元格的格式。
    5.在自定义函数中使用参数时,可选参数必须遵循任何必需的参数。在参数名称之前添加关键字optional以指定可选参数。
    如果必须确定某可选的参数是否传递给了某函数,应将该参数声明为variant类型,然后在过程代码中使用ismissing函数来进行判断。
    要创建参数数量不定的自定义函数,请将数组用作最后一个(或唯一一个)参数,并在数组前面加上关键字paramarray。关键字paramarray只能用于参数列表中的最后一个参数。它的数据类型总是可变的,并且是可选参数。6.在自定义函数的程序代码中,确保至少为函数名分配了一次适当的值。7.函数名必须遵循某些规则(与变量名相同)。最好不
要采用与单元格地址相同的格式,并避免使用与Excel内置函数名相同的名称,否则Excel将使用内置函数。
vba编程技巧
    8、如果想将case关键字和相应的语句放在同一行上,在case语名与相应语句间加上分隔符冒号(:)。
    1.编写自定义函数时,必须位于VBA模块中,而不是与本工作簿、工作表和用户窗体关联的代码模块中。
    2、如果代码要选中单元格区域,则该区域所在的工作表必须是活动的,可以使用activate方法来激活某工作表。
    3.尝试在VBA代码中使用命名单元格范围。
    4、当通过快捷键选择单元格区域的时候,如果用宏录制器生成代码,则要认真检查代码中是否有对选中的实际单元格录制硬编码的引用。
    5.如果宏应用于当前单元格范围内的每个单元格,但用户可以选择整行或整列。通常,
我们不需要遍历选择中的每个单元格,宏应该创建一个子选择,以便它只包含非空单元格。
    6、excel允许同时有多个选区。
    7.如果定义了单元格范围的名称,则在代码中使用定义的名称时,即使在名称单元格范围中添加或删除行或列,也可以确保正确使用单元格范围。
    8、在vba代码中使用注释,可以简要描述编写的每个过程的目的、对过程所做的任何修改、描述变量的目的等。
    通过使用VBE中“编辑”工具栏上的“设置注释块/取消注释块”,VBA语句也可以临时设置为注释块进行调试。
    9、在工作表中编辑控件。在拖动控件的同时按alt键,按钮将与工作表的网格线对齐;在拖动的同时按shift键,按钮成正方形
    10.通常,将应用程序对象的enableevents属性设置为false可以禁止事件的发生。但是,
应该注意的是,该属性只影响实际excel对象(如工作簿、工作表、图表等)的事件。2、 卓越2022
    高级vba编程宝典》学习体会
    这是一本真正带我走进VBA编程殿堂的书!三个月前,当我在新华书店闲逛时,我发现了她,突然觉得自己像个宝贝。这不是我梦寐以求的书吗。所以我开始读这本书。渐渐地,我对VBA有了一种感觉。我似乎刚刚开始,过去模糊的概念已经变得清晰。我能理解别人的程序,我会写自己的程序。调试程序的成功率已经大大提高,而且会有一些技巧。更重要的是,随着自身的进步,他们对VBA编程越来越感兴趣,这也使他们能够坚持学习。当然,VBA的编程水平也在逐步提高。
    想起自已刚开始学习vba的激情,却总被一次次的挫折和失败所打倒:自已也看了不少的书,却总是入不了门;很简单的问题,也不会编程解决,也总是纳闷别人怎么能写出程序来,自已为什么不能;我看过这么多书了,我也仿照着把程序编写出来了啊,怎么调试总是出错呢?《excel2021高级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感兴趣,相信您会坚持下去的,并且我也相信,书中的知识和您的进步将会激起您的阅读欲望和更浓的兴趣。
    本书内容广泛而深刻,涵盖了Excel VBA编程的各个方面。一开始,我彻底阅读了这本书,理解了这本书的结构,觉得在开始学习时不可能害怕,这会适得其反。因此,我确定了从基础学习开始、重点突破、点到面、逐步深化的学习原则。在这三个月里,我利用业余时间阅读、学习和练习我认为应该理解和掌握的基本部分。虽然其他部分还没有深入涉及,但我相信,在牢固地掌握了基础之后,其他部分就会自然而然地出现。现在,根据我对这本书的理解,在现有阅读的基础上,让我们谈谈宝典的特点:
    1、本书内容全面,组织结构合理,从上面简要的介绍也可窥知。本书先讲解了vba编程的语法知识,并穿插着excel对象模型,然后进入用户窗体的讲解,直至高级应用。书中的每一部分,每一章节都是按照由基础到高级应用的结构安排的,由浅入深,讲解透彻。
    2.在阅读本书之前,你需要了解Excel本身的一些基本知识。这也是由Excel VBA编程的特点决定的,因为Excel VBA是Excel应用程序的操作。当然,你需要先了解excel,以便更好地控制和操作它。在本书的第一部分,作者还全面概述了Excel的基本知识。当然,如果你在阅读这本书之前读了Excel 2022的中文版本,效果会更好。
    3、书中有大量的vba示例和语句。这也是作者写作的方式吧,因为作者并不想把本书写成一本晦涩难懂的理论书,而是想通过浅显简单的示例来对各个知识点进行说明,这样学习起来更容易理解,也更快捷。
    4.本书穿插了许多编写VBA程序的好习惯,以及一些重要的方法和技巧。例如,必须声明所有变量。甚至默认属性也应该写在语句中。调用子程序时,最好编写call关键字,并善于在程序代码中添加注释;引用长对象时,请尝试使用。。。最后介绍了应用程序的开发过程和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编程的读者,通读本书,您也能到一些好的方法技巧和经验,并且还能作为您的工具书,以备不时之需。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。