首页 > 专栏

基于excel 2010 的vba教程

更新时间:2023-11-22 23:31:20 阅读: 评论:0

桂林山水图-专业技术任职资格

基于excel 2010 的vba教程
2023年11月22日发(作者:铭记历史勿忘国耻)

Excel 2010 中的 VBA 入门 ........................................................................................................... 1

1. 为什么在 Excel 2010 中使用 VBA ............................................................................... 1

2. VBA 编程 101 ....................................................................................................................... 1

3. 宏和 Visual Basic 编辑器 ............................................................................................... 2

4. 一个实际示例 ....................................................................................................................... 5

5. 修改录制的代码 ................................................................................................................... 7

6. 可以使用 VBA 完成的更多任务 ....................................................................................... 10

Excel 2010 中的 VBA 入门

1. 为什么在 Excel 2010 中使用 VBA

Microsoft Excel 2010 是一个功能相当强大的工具,您可以使用它操作、分析

和显示数据。不过有时候,尽管标准 Excel 用户界面 (UI) 中提供了丰富的功

能集,但您可能仍想要找到一种更简便的方法来执行繁琐的重复任务,或执行某

UI 似乎无法解决的任务。幸运的是,像 Excel 这样的 Office 应用程序提

供了 Visual Basic for Applications (VBA)。这是一种编程语言,您可以通过

它来扩展这些应用程序。

VBA 是通过运行(在 Visual Basic 中编写的分步过程)来工作的。学习编程

可能看起来很困难,但只要多些耐心,多学习像本文中介绍的示例,许多用户会

发现,甚至只需学会少量 VBA 代码,就会使工作变得更加简单,而且可以在

Office 中完成他们以前认为不可能做到的事情。一旦学会了一些 VBA,便可以

更加轻松地掌握更多的 VBA,因此,这种可能性是无限的。

迄今为止, Excel 中使用 VBA 最常见的原因就是自动完成重复的工作。例如,

假定您有好几十个工作簿,每个工作簿都包含好几十个工作表,这些工作表都需

要进行更改。这些更改既可能很简单,例如对固定的单元格范围应用新格式;

可能很复杂,例如,查看每个工作表中的数据的统计特征,再选择最恰当的图表

类型来显示数据和这些特征,然后创建图表并设置相应格式。

对于上述任一种情况,您都可能不愿意手动执行这些任务,最多也就愿意重复执

行几次。您可以改为使用 VBA 来编写要 Excel 执行的显式指令,从而自动完成

这些任务。

VBA 不仅仅可用于重复任务。您还可以使用 VBA 构建 Excel 的新功能(例如,

您可以开发新算法来分析数据,然后使用 Excel 中的图表功能显示结果),也

可以执行将 Excel 与其他 Office 应用程序(如 Microsoft Access 2010)集

成的任务。事实上,在所有 Office 应用程序中,Excel 最常用作一个类似于常

规开发平台的工具。除了所有涉及列表和会计的显而易见的任务之外,从数据可

视化到软件原型制作的大量任务中,开发人员都可使用 Excel

尽管有这么多原因要在 Excel 2010 中使用 VBA,但一定要记住,解决问题的最

佳方案可能是根本就不涉及 VBA即使没有 VBAExcel 仍然提供了大量的功能,

就连高级用户也不可能完全熟悉这些功能。在决定采用 VBA 解决方案之前,请

全面搜索“帮助”和联机资源以确定没有更简单的方法。

2. VBA 编程 101

2.1. 通过代码使应用程序执行操作

1

您可能认为编写代码是一项神秘而又复杂的工作,但基本原则是使用日常推理,

并且很容易掌握。Office 2010 应用程序的创建方式公开了一些名为 的内

对象

容,这些对象可以接收指令。通过向应用程序中的各种对象发送指令,可与应用

程序进行交互。这些对象数量众多、类型各异而且使用灵活,但是它们也有局限

性。这些对象只能执行为其设计的操作,并且只按照您的指令执行操作。

2.2. 对象

在应用程序的名为 的层次结构中,编程对象彼此之间有系统地相互关

对象模型

联。对象模型会大致反映您在用户界面中看见的内容;例如,Excel 对象模型包

ApplicationWorkbookSheet Chart 对象以及其他很多对象。对

象模型是应用程序及其功能的概念图。

2.3. 属性和方法

可通过设置对象的 和调用对象的 来操作对象。设置属性可更改对象

属性方法

的某些性质。调用方法可使对象执行某个操作。例如,Workbook 对象具有一个

用于关闭工作簿的 Clo 方法和一个用于表示工作簿中当前活动的工作表

ActiveSheet 属性。

2.4. 集合

许多对象有单复数之分,例如 Workbook WorkbooksWorksheet

Worksheets等等。对象的复数形式称作集合对象用于对集合中的多个项

集合

执行一个操作。本文稍后将介绍如何使用 Worksheets 集合来更改工作簿中每

个工作表的名称。

3. 宏和 Visual Basic 编辑器

现在,您已对 Microsoft Excel 2010 如何公开其对象模型的方式有所了解,接

下来可以尝试调用对象方法并设置对象属性。为此,您必须在一个位置以 Office

可以理解的方法编写代码;通常使用是 Visual Basic 编辑器。尽管默认情况下

会安装该编辑器,但在功能区中启用该编辑器之前,许多用户都不知道该编辑器

的存在。

3.1. 开发工具选项卡

所有 Office 2010 应用程序都使用功能区。功能区中有一个“开发工具”选项

卡,在此可以访问 Visual Basic 编辑器和其他开发人员工具。由于 Office 2010

在默认情况下不显示“开发工具”选项卡,因此必须使用以下过程启用该选项卡:

3.2. 启用开发工具选项卡

1. 在“文件”选项卡上,选择“选项”打开“Excel 选项”对话框。

2. 单击该对话框左侧的“自定义功能区”。

3. 在该对话框左侧的“从下列位置选择命令”下,选择“常用命令”。

4. 在该对话框右侧的“自定义功能区”下,选择“主选项卡”,然后选中

“开发工具”复选框。

5. 单击“确定”。

2

Excel 显示“开发工具”选项卡之后,注意选项卡上“Visual Basic”、“宏”

和“宏安全性”按钮的位置。

1. Excel 2010 中的“开发工具”选项卡

3.3. 安全问题

单击“宏安全性”按钮可以指定哪些宏可以运行并需满足哪些条件。尽管未授权

宏代码可能会严重损害计算机,但阻止您运行有帮助的宏的安全条件会严重妨碍

您的工作效率。宏安全性是一个复杂而又涉及广泛的话题,您应研究并了解是否

应使用 Excel 宏。

在本文中,请注意,如果当您打开一个包含宏的工作簿时,在功能区和工作表之

间出现“安全警告: 宏已被禁用”条,则可单击“启用内容”按钮来启用宏。

此外,作为一种安全措施,您不能以默认的 Excel 文件格式 (.xlsx) 保存宏;

而必须将宏保存在具有一个特殊扩展名 .xlsm 的文件中。

3.4. Visual Basic 编辑器

以下过程演示如何创建一个储存宏的新的空白工作簿。然后,可以按 .xlsm

式保存该工作簿。

3.5. 创建一个新的空白工作簿

1. 单击“开发工具”选项卡上的“宏”按钮。

2. 在随后出现的“宏”对话框中,在“宏名称”下键入 Hello

3. 单击“创建”按钮打开 Visual Basic 编辑器,其中包含已键入的新宏的

大纲。

VBA 是一种功能齐全的编程语言,并具有一个相应的功能齐全的编程环境。本文

只介绍那些您刚开始编程所使用的工具,而不介绍 Visual Basic 编辑器中的大

部分工具。出于这个原因,请关闭 Visual Basic 编辑器左侧的“属性”窗口,

并忽略在代码上方显示的两个下拉列表。

3

2. Visual Basic 编辑器

Visual Basic 编辑器包含下列代码。

VB

Sub Hello()

End Sub

Sub子例程

代表,现在可将它定义为“宏”。运行 Hello 宏将运行 Sub

Hello() End Sub 之间的任何代码。

现在,请编辑宏,使其类似于以下代码。

VB

Sub Hello()

MsgBox ("Hello, world!")

End Sub

返回到 Excel 中的“开发工具”选项卡,再次单击“宏”按钮。

在随后出现的列表中选择“Hello”宏,然后单击“运行”显示包含文本“Hello,

world!”的小型消息框。

您刚才在 Excel 中创建并实现了自定义 VBA 代码。在消息框中单击“确定”关

闭消息框并完成宏的运行。

如果未出现消息框,请检查宏安全性设置并重新启动 Excel

3.6. 使宏可供访问

还可以从“视图”选项卡访问“宏”对话框。但是,如果您频繁使用某个宏,

使用一个快捷方式或“快速访问工具栏”按钮来访问它可能会更方便。

若要在“快速访问工具栏”中为“Hello”宏创建一个按钮,请使用以下过程。

以下过程描述了如何在“快速访问工具栏”上为宏创建按钮:

3.7. 快速访问工具栏中为宏创建按钮

1. 单击“文件”选项卡。

2. 单击“选项”打开“Excel 选项”对话框,然后单击“快速访问工具栏”。

3. 在“从下列位置选择命令:”下的列表中,选择“宏”。在随后出现的列

表中查找类似于“Book1!Hello”的文本,并选择该文本。

4. 单击“添加 >>”按钮将宏添加到右侧的列表中,然后单击“修改„”按

钮选择与该宏关联的按钮图像。

5. 单击“确定”。现在,您应在“快速访问工具栏”中的“文件”选项卡上

方看到新按钮。

现在,您不必使用“开发工具”选项卡,便可随时快速运行宏,赶快试试吧。

4

4. 一个实际示例

假定您有一个工作簿,其中的大量工作表上都包含列表,您需要更改每个工作表

的名称,以与工作表上的列表标题相匹配。并不是每个工作表上都包含列表,

是如果包含列表,则标题在单元格 B1 中,如果不包含列表,则单元格 B1 为空

白。不包含列表的工作表名称应原样保留。

通常,这可能是一个涉及以下操作的很复杂的任务:查看每一个工作表是否包含

列表,如果包含列表,则复制列表名称,单击工作表标签,然后贴入新名称。可

使用 Excel VBA 自动重新命名工作表,而不必手动执行所有上述步骤。

4.1. 了解对象

若要解决 VBA 编程问题,首先必须搞清楚代码将操作哪些对象。可用来研究此

信息的一个基本工具是 Excel 对象模型参考,它是 Microsoft Developer

Network (MSDN) 上的 Excel 2007 开发人员参考的一部分。

Excel 2010 公开发布之后,这些参考材料将会针对 Excel 2010 进行更新,

Excel 2007 开发人员参考可适用于大部分 Excel 2010 用途。

3. MSDN 上的 Excel 对象模型参考

第一步是搞清楚如何操作您完成任务需要使用的特定对象;例如,工作表、工作

表名称、单元格和单元格内容。 Excel 中,至少有两种方法可以解决此问题:

直接查看对象模型参考。

录制一些您需要自动执行的操作,查看已录制的代码是如何操作对象的,

然后查看对象模型参考以获取更多信息。

根据首选方法的不同,选项也不同,但是现在,首先请尝试使用录制宏。

4.2. 使用录制宏

有时,一个简单的录制宏就可以满足您的全部需要;在这种情况下,您甚至不必

查看代码。更为常见的情况是,只录制是不够的,它只是后续过程的一个起点。

4.3. 将录制宏用作解决方案的起点

5

1. 录制您需要编码的操作。

2. 查看代码,并找到执行这些操作的行。

3. 删除代码的剩余部分。

4. 修改录制的代码。

5. 添加录制宏无法录制的变量、控制结构和其他代码。

通过录制一个将工作表重新命名为 New Name 的宏来开始研究代码。然后可使

用录制的宏开发您自己的宏,使它可以基于工作表的内容重新命名多个工作表。

4.4. 录制可重命名工作表的宏

1. 在“开发工具”选项卡上,单击“录制宏”。

2. 将该宏命名为 RenameWorksheets Sheet1 重命名为 New Name,然

后单击“停止录制”。

3. 转到“开发工具”或“视图”选项卡,单击“宏”按钮,选择“编辑”以

打开 Visual Basic 编辑器。

Visual Basic 编辑器看起来应像下面这样。

VB

Sub RenameWorksheets()

'

' RenameWorksheets Macro

'

'

Sheets("Sheet1").Select

Sheets("Sheet1").Name = "New Name"

End Sub

Sub 行后面的前四行为注释。任何以撇号开始的行均为注释,对宏执行的操作

没有任何影响。注释的主要作用是:

使代码更加便于理解,不仅方便您,而且还方便其他以后可能需要修改此

代码的任何人。

暂时禁用代码行(称作)。

将代码注释掉

此录制的宏中的四个注释没有起到上述的任何一个作用,因此删除它们。

接下来的行使用 Select 方法选择 Sheets 集合对象的 Sheet1 成员。在

VBA 代码中,在操作对象之前通常并不需要选择对象,即使录制宏执行了此操作,

也同样如此。换句话说,此行代码是多余的,因此也可删除它。

录制的宏的最后一行修改 Sheets 集合的 Sheet1 成员的 Name 属性。这是

要保留的行。

在经过更改后,现在录制的代码看起来应像下面这样。

VB

Sub RenameWorksheets()

Sheets("Sheet1").Name = "New Name"

End Sub

手动将名为“New Name”的工作表改回为“Sheet1”,然后运行该宏。此名称应

更改回“New Name”。

6

5. 修改录制的代码

现在来研究录制宏使用的 Sheets 集合。对象模型参考中的“工作表”主题包

括类似下面这样的文本。

Sheets 集合可能包含 Chart Worksheet 对象。如果您需要使用只包

含一种类型的工作表,请查看该工作表类型的对象主题。”

您现在只使用 Worksheets,因此将代码更改为下面这样。

VB

Sub RenameWorksheets()

Worksheets("Sheet1").Name = "New Name"

End Sub

5.1. 循环

此时的代码有一个限制,即,它只能对一个工作表进行更改。您可以为需要重命

名的每个工作表添加对应的行,但是,如果您不知道有多少个这样的工作表,

者不知道这些工作表的当前名称是什么,怎么办?您需要一种方法对工作簿中的

每一个

工作表应用某个规则。

VBA 具有一个理想的称为“For Each”循环的构造。For Each 循环可检查集合

对象(例如 Worksheets中的每一项,还可用于对这些项中的部分或全部执行

一个操作(如更改名称)。

有关 For Each 循环的更多信息,请参阅 VBA 语言参考。单击“Visual Basic

Conceptual Topics”(Visual Basic 概念性主题),再单击“Using For

Next Statements”(使用 Next 语句)。请注意,VBA

言参考与对象模型参考一样,可以让您做到事半功倍,这是一个当您使用代码遇

到困难时寻找解决方法的好地方。

使用“Using Next Statements”(使用 Next 语句)

主题中的第三个示例,编辑该宏,以便它看起来类似于下面的代码。

VB

Sub RenameWorksheets()

For Each myWorksheet In Worksheets

= "New Name"

Next

End Sub

myWorksheet 是一个变量;也就是说,它表示的内容会发生变化。在这种情况

下,myWorksheet 变量相继表示 Worksheets 集合中的每一个工作表。您不

一定要使用 myWorksheet;可以使用“x”、“ws”、

“WorksheetToRenameAfterTheContentsOfCellB1”或者您想要使用的几乎任何

名称(具有一些限制)。一个很好的准则就是,使用的变量名称的长度足以提醒

您变量代表的内容,但也不要太长以致造成代码混乱不堪。

如果此时运行该宏,它会发生错误,因为 Excel 要求工作簿中的每一个工作表

具有唯一名称,但下一行代码指示 Excel 为每个工作表赋予相同的名称。

VB

= "New Name"

若要更正此行以便您可以确认 For Each 循环能正常运行,应将此行做如下更改。

VB

7

= & "-changed"

此行会将每个工作表的当前名称 () 更改为在当前名称后面

追加“-changed”,而不是尝试为每个工作表赋予相同的名称。

5.2. 有用的重命名

现在,该宏正在接近于实际解决手头的问题。现在您需要一种方法来从工作表本

身获取信息,具体而言,就是从每个工作表的 B1 单元格获取信息,然后将获取

信息放入到工作表名称中。

这一次,不再使用录制宏来搞清楚如何引用某个单元格,猜猜看,使用 Cell

象是否可行。这个想法很好,不过,如果您打开对象模型参考并搜索 Cell 对象,

就会发现根本没有 Cell 对象!但是有一个 CellFormat 对象(该链接可能指

向英文页面)

CellFormat 对象主题在第一个代码示例中包括下面的代码。

VB

' Set the interior of cell A1 to yellow.

Range("A1").Select

此代码表明,您使用 Range 指定单元格区域或仅指定一个单元格。同样,您

不需要 .Select 部分,但需要搞清楚如何引用 Range 对象的内容

(与 Range 对象本身相对)。如果您查看 Range 对象主题,则会了解

Range 同时具有 Methods PropertiesRange 的内容是一个事物,

而不是一个操作,因此,它很可能是一个 Property。如果向下翻看列表,则会

看到 Value 属性。因此,请尝试以下代码。

VB

Sub RenameWorksheets()

For Each myWorksheet In Worksheets

= ("B1").Value

Next

End Sub

如果您对包含 B1 为空的工作表的工作簿运行此代码,则会发生错误,因为空

Range 具有一个 "" (一个空文本字符串)这不是合法的工作表名称。

现在差不多该创建一些示例数据了。在工作簿中创建三个与下图类似的工作表,

然后运行该宏。

4. RenameWorksheets 宏的示例数据

8

工作表名称应会相应地进行更改。

5.3. 检查空单元格

如上文所述,工作簿中任何 B1 单元格为空,则该宏会失败。不用手动检查每个

工作表,可对该宏进行编码来执行此操作。 行之前添加

下面的代码行。

VB

If ("B1").Value <> "" Then

并且在 行之后添加下面的文本。

VB

End If

这称作“If„Then”语句。If„Then 语句指示 Excel:只要满足 If 行中的条

件,就执行 If 行和 End If 行之间的行上的任何操作。此示例中,下面的行指

定要满足的条件。

VB

("B1").Value <> ""

<> 表示“不等于”,而中间没有任何内容的双引号表示一个空文本字符串;

就是说,无任何文本。因此,只有在 B1 单元格中的值不等于空(即,B1 单元

格中有文本)时,才会执行 If End If 之间的任何代码行。

有关 If„Then 语句的更多信息,请参阅 VBA 语言参考。(全称为

“If„Then„El 语句”,其中 是可选组件。)

El

5.4. 变量声明

应对该宏所做的另一个改进是在该宏的开头放置一个 myWorksheet 变量声明。

VB

Dim myWorksheet As Worksheet

Dim 是“Dimension”的简写,Worksheet 是此特定变量的类型。此语句告诉

VBA myWorksheet 表示的实体类型。注意,当您键入 As 之后,Visual Basic

编辑器会显示一个弹出列表,其中列出了所有可用的变量类型。这是

IntelliSen 技术的一个示例;即,Visual Basic 编辑器会对它确定您尝试要

执行的操作做出响应,并提供适用选项的列表。您可以从列表中选择一个选项,

或者继续键入。

9

尽管 VBA 中并不要求变量声明,但还是强烈推荐使用!通过变量声明,可以更

容易地跟踪您的变量以及代码中的错误。此外需注意,如果您声明一个带有对象

类型(如 Worksheet)的变量,而且您稍后在该宏中使用该对象变量,则

IntelliSen 会显示与该对象相关的属性和方法的适当列表。

5.5. 注释

现在该宏已经很复杂,可以包含一些注释来提醒您代码执行的操作。使用的注释

数量部分地取决于个人风格,但通常而言,注释多比注释少好。随着时间的推移,

通常需要修改和更新代码。如果没有注释,则可能很难理解代码的意图,尤其是

在修改代码的人不是当初编写代码的人的情况下。 If 条件和重命名工作表的

行添加注释,得到的代码应如下所示。

VB

Sub RenameWorksheets()

Dim myWorksheet As Worksheet

For Each myWorksheet In Worksheets

'make sure that cell B1 is not empty

If ("B1").Value <> "" Then

'rename the worksheet to the contents of cell B1

= ("B1").Value

End If

Next

End Sub

为了测试该宏,将工作表重命名回 Sheet1Sheet2 Sheet3在一个或多

个工作表中删除单元格 B1 的内容。运行该宏,验证它是否重命名单元格 B1

有文本的工作表,并且保留其他工作表的名称不变。该宏适用于任何数量的、

合了已填充的 B1 单元格与空的 B1 单元格的工作表。

6. 可以使用 VBA 完成的更多任务

本节介绍在 Excel 2010 中可以使用 VBA 完成的更多任务。本节中的示例旨在

让您了解 VBA 的功能,而不是重点介绍特定的实际应用场景。您可能会发现,

在演练这些示例时,在对象模型参考中查看每一步操作中的对象的信息会很有用。

6.1. 乐于学习的态度的重要性

学习一般的编程(具体为 Excel VBA)的一个好方法就是采用一种策略,尝试新

的内容,努力搞懂它,然后问自己一些问题,例如:

接下来我可以尝试点什么?

如果我想要使用 VBA,我首先要学习什么?

有哪些我想知道的好玩或有趣的内容?

我对哪些内容感到好奇?

强烈建议读者探索通向开启知识大门的道路。

10

6.2. 图表

Excel 中的一个常见任务是基于一个单元格区域创建图表。创建一个名

AssortedTasks 的新宏,然后在 Visual Basic 编辑器中键入以下文本。

VB

Dim myChart As ChartObject

添加一行以创建图表对象,并将 myChart 变量分配给它。

VB

Set myChart = (100, 50, 200, 200)

括号中的数字决定图表的位置和大小。前两个数字是图表左上角的坐标,后面的

两个数字是宽度和高度。

新建一个空的工作表,并运行该宏。该宏创建的图表中没有数据,因此没有用。

删除您刚刚创建的图表,将以下几行添加到该宏的末尾。

VB

With myChart

.rceData Source:=Selection

End With

这是 VBA 编程中的一个常用模式。首先,创建一个对象,将其分配给一个变量,

然后使用 With„End With 构造来对该对象执行操作。示例代码指示图表使用当

前选择内容作为其数据。(Selection SetSourceData 方法

参数的值,而不是某个对象属性的值,因此,VBA 语法要求您使用

Source

冒号和等于号 (:=) 替代一个等于号 (=) 来赋值。)

在单元格 A1:A5 中键入一些数字,选择这些单元格,然后运行该宏。图表将按

默认类型(条形图)显示。

5. 使用 VBA 创建的条形图

如果您不喜欢条形图,则可以使用与下面类似的代码,将条形图更改为某种其他

类型的图表。

VB

With myChart

.rceData Source:=Selection

.ype = xlPie

End With

11

xlPie

是内置常数(也称为“枚举常数”)的一个示例。Excel 中有很多这样

的常数,并且这些常数已经被详尽地记录下来。有关内置常数的更多信息,请参

阅对象模型参考的“Enumerations”(枚举)部分。例如,图表类型的常数将会

在“XlChartType Enumeration”(XlChartType 枚举)下列出。

您可以修改数据。例如,尝试将此行添加到变量声明的后面。

VB

("a4").Value = 8

可以从用户获取输入,并使用该输入修改数据。

VB

myInput = InputBox("Plea type a number:")

("a5").Value = myInput

最后,将下面的行添加到该宏的末尾。

VB

现在,完整的宏看起来应像下面这样。

VB

Sub AssortedTasks()

Dim myChart As ChartObject

("a4").Value = 8

myInput = InputBox("Plea type a number:")

("a5").Value = myInput

Set myChart = (100, 50, 200, 200)

With myChart

.rceData Source:=Selection

.ype = xlPie

End With

End Sub

验证单元格 A1:A5 是否仍然为选中状态,运行该宏,在输入框中键入一个数字,

然后单击“确定”。此代码将保存并关闭工作簿。重新打开工作簿,并注意对饼

图的更改。

6.3. 用户窗体

前一节演示了如何使用一个简单的输入框获取用户的输入。除了显示信息的相应

消息框之外,VBA 还提供了大量功能,以便您可以用来创建自定义对话框,对直

接放置在工作表上的控件进行编码,或者操作 Excel 中内置的对话框。有关这

些功能的更多信息,请参阅 Excel 2007 开发人员参考中的控件、对话框和窗体

本节快速介绍一下用户窗体,至此便完成对 Excel VBA 的简单介绍。

在“开发工具”选项卡上,单击“Visual Basic”按钮以打开 Visual Basic

辑器,然后转到“插入”菜单,选择“用户窗体”以打开“用户窗体设计视图”。

您将看见两个窗口。一个窗口表示您创建的用户窗体,另一个窗口就是“工具

箱”,其中显示您可以添加到用户窗体中的各种控件。例如,命令按钮、选项按

12

钮、复选框等等。可将鼠标移动到“工具箱”控件的上方,查看它创建的是哪种

控件。

创建一个非常简单的用户窗体,其中包含一个可运行本文前面所述的 Hello

的按钮。在“工具箱”中,按下 CommandButton 控件,然后将其拖动到用户

窗体来创建一个命令按钮。右键单击该命令按钮,选择“查看代码”。

您看到的 Sub 是一个 的主干。在发生特定事件时将会运行事件过

事件过程

程。在此例中,正如 Sub 的名称所示,运行代码的事件为 CommandButton1

Click。将下面一行添加到事件过程中。

VB

Run("Hello")

现在 Visual Basic 编辑器应看起来像下面这样。

6. CommandButton1_Click 事件过程

保存工作簿,转到“窗口”菜单,选择“UrForm1 (用户窗体)”,以重新显示

用户窗体。单击工具栏上的绿色箭头运行用户窗体。在对话框出现后,单击命令

按钮以运行 Hello 宏,这将显示“Hello, world!”消息框。关闭该消息框以返

回到正在运行的用户窗体,然后关闭正在运行的用户窗体以返回到“设计视图”。

13

科任老师-双母线

基于excel 2010 的vba教程

本文发布于:2023-11-22 23:31:19,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/1700667080223521.html

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

本文word下载地址:基于excel 2010 的vba教程.doc

本文 PDF 下载地址:基于excel 2010 的vba教程.pdf

标签:excel2010
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|