VBA对象属性概述

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

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

属 性 表 示 方 法

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

对象的属性的表示方法是用英文逗号间隔:对象.属性。比如单元格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属性是默认属性,在代码中可以省略。


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


本文分享自微信公众号 - Excel和Access学习笔记(excel-note),作者:无言之月

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-07-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Application主程序对象基础

    大家好,前面已经介绍了常见的几种VBA对象,包括range单元格对象、worksheet工作表对象和workbook工作簿对象。本节介绍Application主...

    无言之月
  • VBA对象篇概述

    大家好,后面开始将介绍VBA对象模型部分内容,会引入许多新的概念,尽量循序渐进的介绍相关内容,力求深入浅出。

    无言之月
  • Worksheet工作表对象属性

    大家好,本节主要介绍工作表对象的相关属性。上节大部分已经涉及到,下面主要汇总复习下。

    无言之月
  • 三分钟理解“享元模式”——设计模式轻松掌握

    享原模式的官方定义: 运用共享技术有效地支持大量细粒度的对象。 大白话讲: 一个类它可能生成好多对象,但这些对象根据属性值的不同一共分成N类,每种类型中属性值都...

    大闲人柴毛毛
  • Application主程序对象基础

    大家好,前面已经介绍了常见的几种VBA对象,包括range单元格对象、worksheet工作表对象和workbook工作簿对象。本节介绍Application主...

    无言之月
  • JS对象那些事儿

    JavaScript中几乎所有东西都是一个对象,除了六种基本类型数据 - null,undefined,strings,numbers,boolean和symb...

    前端知否
  • [第1期] ES6之路--对象的扩展

    桃翁
  • JS基础测试: typeof delete window.name 的返回结果是什么?​

    delete 操作符用于删除对象的某个属性;如果没有指向这个属性的引用,那它最终会被释放。

    舒克
  • Jsp内置对象及EL表达式的使用

    一、JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称   对应的类型 request          HttpServletReques...

    欠扁的小篮子
  • 深入 JS 对象属性

    对象的普通属性将字符串名称映射到值。例如,下面对象obj有一个数据属性,名称为 prop,对应的值为 123:

    前端小智@大迁世界

扫码关注云+社区

领取腾讯云代金券