如何在vba中使用excel电子表格?

在 VBA 中,工作表对象表示单个工作表,该工作表是工作簿的工作表集合的一部分。使用工作表对象,您可以在VBA代码中引用工作表,并且引用一个工作表,还可以访问与其相关的属性、方法和事件。

以下是工作表在 Excel 对象层次结构中的位置的快速概述。

申请表工作簿工作表工作表

在本教程中,我们将学习如何使用 VBA 代码在 Excel 中使用和引用工作表。

有用的链接:运行宏宏记录器Visual Basic 编辑器个人宏手册

工作表与电子表格

让我们从头开始。这对于理解电子表格和工作表之间的区别非常重要。在 Excel 中,您可以将工作表类型插入到工作簿中,而工作表就是其中一种类型。正如您在下面的快照中看到的,当您插入新工作表时,Excel 会要求您选择工作表类型。

需要理解的是:当您使用“工作表”一词时,您指的是所有工作表(电子表格、宏工作表和图表工作表),但是当您使用“工作表”一词时,您仅指电子表格( 请参阅还)。

工作表与工作表

使用 VBA 访问工作表(工作表)

VBA 为您提供了从工作簿访问工作表的不同方法,稍后我们将介绍执行此操作的不同方法。

1. 使用名称引用工作表

每个工作表都有其名称来标识它,您也可以使用它来引用该工作表。假设您想引用“Sheet1”,代码为:

使用名称引用工作表
 Sheets(“Sheet1”) Worksheets(“Sheet1”)

上面的两个代码引用的是“Sheet1”。

2. 请参阅使用编号的表

您还可以使用图纸编号来引用它。假设如果某个工作表位于工作簿中的第五个位置,您可以使用该编号来引用它。

 Sheets (5) Worksheets (5)

上面有两行代码,它们以两种不同的方式工作。第一行指工作簿中的第 5 个工作表以及第 2 到第 5 个工作表。

使用数字引用工作表

3. 参考ActiveSheet

如果工作表已处于活动状态,您可以使用关键字“Activesheet”而不是其名称来引用它。

 ActiveSheet

如果要在ActiveSheet中执行活动,可以使用“Activesheet”对象,但如果不使用它,VBA仍将在活动工作表中执行活动。

阅读:使用 VBA 选择范围

4. 使用代码窗口名称引用工作表

每个工作表都有其代码窗口,并且该代码窗口有一个名称。通常,用户可以从选项卡更改工作表名称,但除非从属性中进行更改,否则无法更改代码窗口中的名称。

从“开发人员”选项卡中打开 Visual Basic 编辑器,在属性部分中您可以看到所选工作表的名称。

使用代码引用工作表

您还可以从属性部分更改此名称。

使用代码窗口名称

您现在可以使用代码窗口名称来引用它。

 mySheet

5. 参考多张纸

您还可以使用一行代码一次引用多个工作表。为此,您可以使用数组,就像下面的代码一样。

 Sheets(Array("Sheet1", "Sheet2"))

这段代码引用了“Sheet1”和“Sheet2”,但是当引用多个工作表时你需要理解一件事,有一些方法和属性是你不能使用的。

6. 参考另一本工作簿中的工作表

工作表或工作表是工作簿中工作表集合的一部分,如果要引用活动工作簿以外的特定工作表,则必须首先引用该工作簿。

 Workbooks("Book1").Sheets("Sheet1")

运行此代码,您必须打开“Book1”。

与工作表或工作表相关的属性、方法和事件

在VBA中,每个Excel对象都有您可以使用的属性、方法和事件,并且以同样的方式,您可以访问它附带的属性和方法。指定工作表后,输入一个点 (.),您将获得列表。

与工作表链接的事件

在此列表中,所有可以看到手的图标都是属性,而有绿砖的图标都是方法。

属性示例

假设您想要更改工作表选项卡的颜色。在这种情况下,您可以使用工作表的 TAB 属性。

 mySheet.Tab.ThemeColor = xlThemeColorAccent2

在上面的代码行中,您有选项卡属性和另一个主题颜色属性来更改工作表选项卡的颜色。

示例方法

同样,您可以使用电子表格提供的方法。最常见的方法之一是“选择”方法,您可以使用它来选择工作表。

 mySheet.Select

当您运行此代码时,它会在活动工作簿中选择“mySheet”。

事件示例

有些事件与工作表相关联。例如,当您激活工作表时,它是一个事件,同样,当您更改工作表中的某些内容时。请参阅以下代码,其中您可以在事件(工作表中的更改)发生时运行代码。

事件示例
 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Range("A1").Value = Range("A1").Value + 1 End Sub

每次在工作表中进行更改时,此代码都会在工作表的单元格 A1 中输入一个值。

声明一个工作表对象

您还可以将变量声明为工作表,这样可以更轻松地在 VBA 代码中使用该工作表。首先使用 DIM 关键字,然后使用变量名称。之后,将对象类型指定为工作表。

声明电子表格对象

添加评论

您的邮箱地址不会被公开。 必填项已用 * 标注