vba对象工作表(VBA对象之层次表达)
vba对象工作表(VBA对象之层次表达)Application.Workbooks("工作簿03.xlsm").Worksheets(1).Range("A1").Value = "VBA学习"下面我们把Range("a1").Value = "VBA学习"这句代码来补充完整,写成如下:Private Sub CommandButton1_Click()Range("a1").Value = "VBA学习"End Sub
【分享成果,随喜正能量】我一直在想,自己能做的事和实际想做的事,两者似乎往往无法一致。我是因为能做而做,还是因为真的想做才做,我自己也不清楚这之间的界限。。
《VBA之EXCEL应用》(10178983)是非常经典的,是我推出的第七套教程,定位于初级。这套教程从简单的录制宏开始讲解,一直到窗体的搭建,内容丰富,实例众多。大家可以非常容易的掌握相关的知识,这套教程共三册,十七章,都是我们在利用EXCEL工作过程中需要掌握的知识点,希望大家能掌握利用。今日讲解的内容是“VBA之EXCEL应用”的第三章内容: VBA对象之层次表达
在Excel VBA中,一个对象可以包含另一个对象,该对象也可以包含另一个对象。换句话说,Excel VBA编程会涉及到对象层次结构的处理。对于EXCEL本身,我们称之为应用程序对象;应用程序对象包含很多对象,例如,工作簿对象(Excel文件);工作簿对象中还包含其他对象,如工作表对象;工作表对象包含其他对象,例如Range对象。
1 对象层次结构的描述我们在写代码的时候,其实利用的就是一种层次结构,如我们在“工作簿01.xlsm”程序文件中曾经利用过下面的代码:
Private Sub CommandButton1_Click()
Range("a1").Value = "VBA学习"
End Sub
下面我们把Range("a1").Value = "VBA学习"这句代码来补充完整,写成如下:
Application.Workbooks("工作簿03.xlsm").Worksheets(1).Range("A1").Value = "VBA学习"
我们看下面的过程代码:
Sub mynz()
Application.Workbooks("工作簿03.xlsm").Worksheets(1).Range("A1").Value = "VBA学习"
End Sub
我们来逐步解析一下代码:
1)Application 对象指的是EXCEL。
2)Application.Workbooks("工作簿03.xlsm")指的是EXCEL文件"工作簿03.xlsm".
3) Application.Workbooks("工作簿03.xlsm").Worksheets(1) 指的是EXCEL文件"工作簿03.xlsm".的Worksheets(1)工作表。
4)Application.Workbooks("工作簿03.xlsm").Worksheets(1).Range("A1") 指的是指的是EXCEL文件"工作簿03.xlsm".的Worksheets(1)工作表中"A1"的单元格。
5).Value 是指值的属性。
这样我们就了解了对象的层次结构。如果大家能看到我的高级教程《VBA中类的解读和应用》,其中我们对于这种层次结构会有更加详细的讲解。这里大家只需初步了解一下即可。
2 对象的集合结构我们已经注意到,工作簿和工作表都是复数形式。那是因为它们是集合。工作簿集合包含当前打开的所有工作簿对象。“工作表”集合包含工作簿中的所有工作表对象。所以,在对象的层次结构中,集合是非常重要的概念。我们要想访问所有工作表对象,只需要在工作表集合中逐一访问即可,这种访问我们称之为“遍历”。
3 工作表对象的引用方法为了引用工作表对象,我们可以通过三种方式:
1)使用工作表名称
如下面的代码:
Sub mynzA()
Worksheets("Sheet1").Range("A5").Value = "VBA学习"
End Sub
这里我们通过引用工作表名称"Sheet1"来指向这个工作表。
2 使用索引号(1是从左边开始的第一个工作表)。
Sub mynzB() '使用索引号来引用工作表
Worksheets(1).Range("A6").Value = "VBA学习"
End Sub
这里我们通过使用索引号来指向这个工作表。
- 表示索引号的1,是不带引号的
3 使用工作表的CodeName
Sub mynzC() '使用CODENAME来引用工作表
Sheet1.Range("A7").Value = "VBA学习"
End Sub
这里我们通过工作表的CodeName来指向这个工作表。所谓工作表的CodeName如VBE窗口中所示:
- 注意:如果更改工作表名称或工作表顺序,CodeName将保持不变,因此这是引用工作表的最安全方法。单击“视图”、“属性”窗口可更改CodeName。有一个缺点,如果引用其他工作簿中的工作表,则不能使用CodeName。
今日内容回向:
1) 什么是对象的层次结构?
2) 如何引用一个工作表对象?
3) 如何理解对象的集合?
本讲内容参考程序文件:工作簿03.xlsm
我20多年的VBA成果全在下面的资料中:
【分享成果,随喜正能量】这个世界荒诞又真实,光怪陆离,还好我们有朋友。在你什么都没有的时候,他们陪在你身边,他们本不需要这么做,但他们用整个青春的时间包容了你。。