如何在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 关键字,然后使用变量名称。之后,将对象类型指定为工作表。