小兔网

对象层次   |  集合   |  属性和方法

了解更多有关工作簿工作表对象Excel中VBA

对象层次结构

在Excel VBA中,一个对象可以包含另一个对象,并且该对象可以包含另一个对象,等等。换句话说,Excel VBA编程涉及使用对象层次结构。这听起来似乎很令人困惑,但是我们会弄清楚。

所有对象之母都是Excel本身。我们称其为Application对象。应用程序对象包含其他对象。例如,工作簿对象(Excel文件)。这可以是您创建的任何工作簿。工作簿对象包含其他对象,例如工作表对象。Worksheet对象包含其他对象,例如Range对象。

“ 创建宏”一章说明了如何通过单击命令按钮来运行代码。我们使用以下代码行:

Range(“ A1”)。Value =“ Hello”

但是我们真正的意思是:

Application.Workbooks(“ create-a-macro”)。Worksheets(1).Range(“ A1”)。Value =“ Hello”

注意:对象用点连接。幸运的是,我们不必以这种方式添加代码行。这是因为我们将命令按钮放置在第一个工作表上的create-a-macro.xlsm中请注意,如果要更改其他工作表上的内容,则必须包括Worksheet对象。继续阅读。

馆藏

您可能已经注意到工作簿和工作表都是复数形式。那是因为它们是集合。Workbooks集合包含当前打开的所有Workbook对象。工作表集合包含工作簿中的所有工作表对象。

工作表名称

您可以通过三种方式引用集合的成员,例如,单个Worksheet对象。

1.使用工作表名称。

Worksheets(“ Sales”)。Range(“ A1”)。Value =“ Hello”

2.使用索引号(1是从左侧开始的第一个工作表)。

工作表(1).Range(“ A1”)。Value =“ Hello”

3.使用代号。

Sheet1.Range(“ A1”)。Value =“ Hello”

要查看工作表的CodeName,请打开Visual Basic编辑器在项目资源管理器中,名字是CodeName。第二个名称是工作表名称(销售)。

代码名称

注意:如果您更改工作表名称或工作表的顺序,则CodeName保持不变,因此这是引用工作表的最安全方法。单击视图,属性窗口以更改工作表的代号。有一个缺点,如果您引用其他工作簿中的工作表,则不能使用CodeName。

属性和方法

现在,让我们看一下“工作簿和工作表”集合的一些属性和方法。属性是集合所具有的东西(它们描述了集合),而方法则做了事(它们对集合执行操作)。

在您的工作表上放置一个命令按钮,并添加代码行:

1. Workbooks集合的Add方法创建一个新的工作簿。

工作簿。添加

注意:Worksheets集合的Add方法将创建一个新的工作表。

2. Worksheets集合的Count属性计算工作簿中工作表的数量。

MsgBox Worksheets.Count

单击工作表上的命令按钮时的结果:

Excel VBA中的Count属性

注意:工作簿集合的Count属性计算活动工作簿的数量。