Excel 2010 中的 VBA 入门.docx

上传人:M****1 文档编号:561481335 上传时间:2023-03-05 格式:DOCX 页数:13 大小:332.14KB
返回 下载 相关 举报
Excel 2010 中的 VBA 入门.docx_第1页
第1页 / 共13页
Excel 2010 中的 VBA 入门.docx_第2页
第2页 / 共13页
Excel 2010 中的 VBA 入门.docx_第3页
第3页 / 共13页
Excel 2010 中的 VBA 入门.docx_第4页
第4页 / 共13页
Excel 2010 中的 VBA 入门.docx_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《Excel 2010 中的 VBA 入门.docx》由会员分享,可在线阅读,更多相关《Excel 2010 中的 VBA 入门.docx(13页珍藏版)》请在金锄头文库上搜索。

1、Excel 2010 中的 VBA 入门11.为什么在 Excel 2010 中使用 VBA?12.VBA 编程 10113.宏和 Visual Basic 编辑器24.一个实际示例55.修改录制的代码76.可以使用 VBA 完成的更多任务10Excel 2010 中的 VBA 入门1. 为什么在 Excel 2010 中使用 VBA?Microsoft Excel 2010 是一个功能相当强大的工具,您可以使用它操作、分析和显示数据。不过有时候,尽管标准 Excel 用户界面 (UI) 中提供了丰富的功能集,但您可能仍想要找到一种更简便的方法来执行繁琐的重复任务,或执行某个 UI 似乎无法解

2、决的任务。幸运的是,像 Excel 这样的 Office 应用程序提供了 Visual Basic for Applications (VBA)。这是一种编程语言,您可以通过它来扩展这些应用程序。VBA 是通过运行宏(在 Visual Basic 中编写的分步过程)来工作的。学习编程可能看起来很困难,但只要多些耐心,多学习像本文中介绍的示例,许多用户会发现,甚至只需学会少量 VBA 代码,就会使工作变得更加简单,而且可以在 Office 中完成他们以前认为不可能做到的事情。一旦学会了一些 VBA,便可以更加轻松地掌握更多的 VBA,因此,这种可能性是无限的。迄今为止,在 Excel 中使用 V

3、BA 最常见的原因就是自动完成重复的工作。例如,假定您有好几十个工作簿,每个工作簿都包含好几十个工作表,这些工作表都需要进行更改。这些更改既可能很简单,例如对固定的单元格范围应用新格式;也可能很复杂,例如,查看每个工作表中的数据的统计特征,再选择最恰当的图表类型来显示数据和这些特征,然后创建图表并设置相应格式。对于上述任一种情况,您都可能不愿意手动执行这些任务,最多也就愿意重复执行几次。您可以改为使用 VBA 来编写要 Excel 执行的显式指令,从而自动完成这些任务。VBA 不仅仅可用于重复任务。您还可以使用 VBA 构建 Excel 的新功能(例如,您可以开发新算法来分析数据,然后使用 E

4、xcel 中的图表功能显示结果),也可以执行将 Excel 与其他 Office 应用程序(如 Microsoft Access 2010)集成的任务。事实上,在所有 Office 应用程序中,Excel 最常用作一个类似于常规开发平台的工具。除了所有涉及列表和会计的显而易见的任务之外,从数据可视化到软件原型制作的大量任务中,开发人员都可使用 Excel。尽管有这么多原因要在 Excel 2010 中使用 VBA,但一定要记住,解决问题的最佳方案可能是根本就不涉及 VBA。即使没有 VBA,Excel 仍然提供了大量的功能,就连高级用户也不可能完全熟悉这些功能。在决定采用 VBA 解决方案之前

5、,请全面搜索“帮助”和联机资源以确定没有更简单的方法。2. VBA 编程 1012.1. 通过代码使应用程序执行操作您可能认为编写代码是一项神秘而又复杂的工作,但基本原则是使用日常推理,并且很容易掌握。Office 2010 应用程序的创建方式公开了一些名为对象的内容,这些对象可以接收指令。通过向应用程序中的各种对象发送指令,可与应用程序进行交互。这些对象数量众多、类型各异而且使用灵活,但是它们也有局限性。这些对象只能执行为其设计的操作,并且只按照您的指令执行操作。2.2. 对象在应用程序的名为对象模型的层次结构中,编程对象彼此之间有系统地相互关联。对象模型会大致反映您在用户界面中看见的内容;

6、例如,Excel 对象模型包含Application、Workbook、Sheet和Chart对象以及其他很多对象。对象模型是应用程序及其功能的概念图。2.3. 属性和方法可通过设置对象的属性和调用对象的方法来操作对象。设置属性可更改对象的某些性质。调用方法可使对象执行某个操作。例如,Workbook对象具有一个用于关闭工作簿的Close方法和一个用于表示工作簿中当前活动的工作表的ActiveSheet属性。2.4. 集合许多对象有单复数之分,例如 Workbook 和 Workbooks;Worksheet 和 Worksheets,等等。对象的复数形式称作集合。集合对象用于对集合中的多个项

7、执行一个操作。本文稍后将介绍如何使用Worksheets集合来更改工作簿中每个工作表的名称。3. 宏和 Visual Basic 编辑器现在,您已对 Microsoft Excel 2010 如何公开其对象模型的方式有所了解,接下来可以尝试调用对象方法并设置对象属性。为此,您必须在一个位置以 Office 可以理解的方法编写代码;通常使用是 Visual Basic 编辑器。尽管默认情况下会安装该编辑器,但在功能区中启用该编辑器之前,许多用户都不知道该编辑器的存在。3.1. “开发工具”选项卡所有 Office 2010 应用程序都使用功能区。功能区中有一个“开发工具”选项卡,在此可以访问 V

8、isual Basic 编辑器和其他开发人员工具。由于 Office 2010 在默认情况下不显示“开发工具”选项卡,因此必须使用以下过程启用该选项卡:3.2. 启用“开发工具”选项卡1. 在“文件”选项卡上,选择“选项”打开“Excel 选项”对话框。2. 单击该对话框左侧的“自定义功能区”。3. 在该对话框左侧的“从下列位置选择命令”下,选择“常用命令”。4. 在该对话框右侧的“自定义功能区”下,选择“主选项卡”,然后选中“开发工具”复选框。5. 单击“确定”。在 Excel 显示“开发工具”选项卡之后,注意选项卡上“Visual Basic”、“宏”和“宏安全性”按钮的位置。图 1. E

9、xcel 2010 中的“开发工具”选项卡3.3. 安全问题单击“宏安全性”按钮可以指定哪些宏可以运行并需满足哪些条件。尽管未授权宏代码可能会严重损害计算机,但阻止您运行有帮助的宏的安全条件会严重妨碍您的工作效率。宏安全性是一个复杂而又涉及广泛的话题,您应研究并了解是否应使用 Excel 宏。在本文中,请注意,如果当您打开一个包含宏的工作簿时,在功能区和工作表之间出现“安全警告: 宏已被禁用”条,则可单击“启用内容”按钮来启用宏。此外,作为一种安全措施,您不能以默认的 Excel 文件格式 (.xlsx) 保存宏;而必须将宏保存在具有一个特殊扩展名 .xlsm 的文件中。3.4. Visual

10、 Basic 编辑器以下过程演示如何创建一个储存宏的新的空白工作簿。然后,可以按 .xlsm 格式保存该工作簿。3.5. 创建一个新的空白工作簿1. 单击“开发工具”选项卡上的“宏”按钮。2. 在随后出现的“宏”对话框中,在“宏名称”下键入Hello。3. 单击“创建”按钮打开 Visual Basic 编辑器,其中包含已键入的新宏的大纲。VBA 是一种功能齐全的编程语言,并具有一个相应的功能齐全的编程环境。本文只介绍那些您刚开始编程所使用的工具,而不介绍 Visual Basic 编辑器中的大部分工具。出于这个原因,请关闭 Visual Basic 编辑器左侧的“属性”窗口,并忽略在代码上方

11、显示的两个下拉列表。图 2. Visual Basic 编辑器Visual Basic 编辑器包含下列代码。VBSub Hello()End SubSub代表子例程,现在可将它定义为“宏”。运行Hello宏将运行Sub Hello()与End Sub之间的任何代码。现在,请编辑宏,使其类似于以下代码。VBSub Hello() MsgBox (Hello, world!)End Sub返回到 Excel 中的“开发工具”选项卡,再次单击“宏”按钮。在随后出现的列表中选择“Hello”宏,然后单击“运行”显示包含文本“Hello, world!”的小型消息框。您刚才在 Excel 中创建并实现了

12、自定义 VBA 代码。在消息框中单击“确定”关闭消息框并完成宏的运行。如果未出现消息框,请检查宏安全性设置并重新启动 Excel。3.6. 使宏可供访问还可以从“视图”选项卡访问“宏”对话框。但是,如果您频繁使用某个宏,则使用一个快捷方式或“快速访问工具栏”按钮来访问它可能会更方便。若要在“快速访问工具栏”中为“Hello”宏创建一个按钮,请使用以下过程。以下过程描述了如何在“快速访问工具栏”上为宏创建按钮:3.7. 在“快速访问工具栏”中为宏创建按钮1. 单击“文件”选项卡。2. 单击“选项”打开“Excel 选项”对话框,然后单击“快速访问工具栏”。3. 在“从下列位置选择命令:”下的列表

13、中,选择“宏”。在随后出现的列表中查找类似于“Book1!Hello”的文本,并选择该文本。4. 单击“添加 ”按钮将宏添加到右侧的列表中,然后单击“修改”按钮选择与该宏关联的按钮图像。5. 单击“确定”。现在,您应在“快速访问工具栏”中的“文件”选项卡上方看到新按钮。现在,您不必使用“开发工具”选项卡,便可随时快速运行宏,赶快试试吧。4. 一个实际示例假定您有一个工作簿,其中的大量工作表上都包含列表,您需要更改每个工作表的名称,以与工作表上的列表标题相匹配。并不是每个工作表上都包含列表,但是如果包含列表,则标题在单元格 B1 中,如果不包含列表,则单元格 B1 为空白。不包含列表的工作表名称

14、应原样保留。通常,这可能是一个涉及以下操作的很复杂的任务:查看每一个工作表是否包含列表,如果包含列表,则复制列表名称,单击工作表标签,然后贴入新名称。可使用 Excel VBA 自动重新命名工作表,而不必手动执行所有上述步骤。4.1. 了解对象若要解决 VBA 编程问题,首先必须搞清楚代码将操作哪些对象。可用来研究此信息的一个基本工具是Excel 对象模型参考,它是 Microsoft Developer Network (MSDN) 上的 Excel 2007 开发人员参考的一部分。在 Excel 2010 公开发布之后,这些参考材料将会针对 Excel 2010 进行更新,但 Excel

15、2007 开发人员参考可适用于大部分 Excel 2010 用途。图 3. MSDN 上的 Excel 对象模型参考第一步是搞清楚如何操作您完成任务需要使用的特定对象;例如,工作表、工作表名称、单元格和单元格内容。在 Excel 中,至少有两种方法可以解决此问题: 直接查看对象模型参考。 录制一些您需要自动执行的操作,查看已录制的代码是如何操作对象的,然后查看对象模型参考以获取更多信息。根据首选方法的不同,选项也不同,但是现在,首先请尝试使用录制宏。4.2. 使用录制宏有时,一个简单的录制宏就可以满足您的全部需要;在这种情况下,您甚至不必查看代码。更为常见的情况是,只录制是不够的,它只是后续过程的一个起点。4.3. 将录制宏用作解决方案的起点1. 录制您需要编码的操作。2. 查看代码,并找到执行这些操作的行。3. 删除代码的剩余部分。4. 修改录制的代码。5. 添加录制宏无法录制的变量、控制结构和其他代码。通过录制一个将工作表重新命名为New Name的宏来开始研究代码。然后可使用录制的宏开发您自己的宏,使它可以基于工作表的内容重新命名多个工作表。4.4. 录制可重命名工作表的宏1. 在“开发工具”选项卡上,单击“录制宏”。2. 将该宏命名为RenameWorkshee

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号