前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VBA对象属性概述

VBA对象属性概述

作者头像
无言之月
发布2019-10-13 15:45:44
1.4K0
发布2019-10-13 15:45:44
举报

上节概述了对象模型的基础知识,而对象的学习重点其实就是它们的属性和方法,不同对象都有诸多不同的属性和方法,后期将从常用对象的属性和方法循序渐进的展开。

本节将通过三个递进的示例,来介绍对象的属性的通用知识点。

属 性 表 示 方 法

对象的属性决定了对象的特征或者某一方面的行为。

对象的属性的表示方法是用英文逗号间隔:对象.属性。比如单元格A1的value属性,即range("a1").value。

在VBA中编写代码时写到写出对象和英文句号后,VBA会提示以供选择。

可以看到有两种图例,手指的图例就是属性。另一种扔砖头图例的就是方法。后面会再做介绍。

下面就结合实例来具体介绍对象的属性。

属 性 示 例

下面先从单元格的value值属性和worksheet的name名称属性,作为示例来入门。

示例一

在一个工作簿中有4个普通工作表,假设不知道名称,现在需要得到四个工作表的名字。显示在第一个工作表的A1:A4单元格中。最终效果如下:

这个过程其实,是先得到普通工作表的名称(即name属性),然后将值赋给单元格的值(即value属性)即可。

工作表的名称如何得到,这就需要用到上节的知识,当不知道工作表名称时,就可以使用对象集合(集合索引号)的表示方法。即worksheets(1).name得到第一个表的名称。

然后将值赋给单元格,需要明确在表1的A1单元格显示,就需要指定工作表,即Worksheets(1).Range("a1").Value = Worksheets(1).Name。

最后的简单代码如下(range对象的value是默认属性,其实也可以省略)。

示例二

下面我们换一种思路,上面的示例只有4个表,如果有20几个工作表要这样写代码太过繁琐。可以看下代码主要是range对象的参数和worksheets集合的索引号有规律的变化。涉及有规律的重复,就可以联想到使用循环结构。

代码中有规律的数值,就可以用循环结构的参数来代替,示例代码修改如下:

代码变的更加简洁易修改,其中Range("a" & i)中参数是字符串与参数的连接方法如果有遗忘,可以在VBA运算符章节中复习下。

示例三

不过上述代码只是循环到4,是因为知道只有4个普通工作表,但如果普通工作表的数量是未知或者增加了工作表呢?无法确定循环的最终值。

要确定最终值,就可以用到集合的count属性,count属性就是用来统计集合中对象的数量。(前面提到过集合也是一种特殊对象,作为对象也有属性。)示例代码修改如下:

定义了变量J,来获得普通工作表集合中普通工作表的数量。然后将循环的终值改成J。这样修改后代码就有了适用性,即使增加工作表,代码运行后也可以获得新工作表的名称。效果如下:


知 识 点

1、对象属性的表示方法:对象.属性

2、对象可以是其他对象的属性。前面介绍对象概述时已经介绍过,比如字体是单元格对象的属性,但字体本身也是对象。

同样单元格range对象其实也是worksheet的属性。

3、集合是特殊对象,也有属性。

上面实例中以workshees集合的count属性举例。是用来统计普通工作表worksheet对象的数量。

4、range对象的value属性是默认属性,在代码中可以省略。


本节介绍了对象属性的通用知识点,主要通过三个逐步递进的实例来介绍使用规则,逐步结合前面学过的知识。如果有疑问可以查看前面章节或者给我留言,祝大家学习快乐。


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel和Access学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档