700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Excel与VBA工作表对象和属性

Excel与VBA工作表对象和属性

时间:2020-02-22 22:39:56

相关推荐

Excel与VBA工作表对象和属性

sheets和worksheets的区别

从定义上来讲,worksheets是工作表的一个集合对象,而sheets不仅包括工作表对象,还包括图表charts,宏工作表macroworksheet等等。在我们学习VBA的初级阶段,只需要学懂worksheets就可以。因此,本文将主要着眼于worksheets对象来讲解。

worksheets和worksheet的区别

讲到这里,大家可能又云里雾里了,不是说好了要讲worksheets么,怎么还出来一个单数形式?

上面我们也说到了,worksheets是一组工作表集合对象,那工作表又是什么呢? worksheet呀!

也就是说,可以这么简单的理解,worksheet是单个的工作表,有一些个性,例如,姓名,编号,等等,而worksheets更多偏向的是worksheets一些共性,例如计数count等。

worksheet作为单个对象,属性和方法都有兼顾。而worksheets作为集合对象,更多的是偏向于方法。

worksheet与activesheet

如果我们把worksheet再进行分类,就可以按照其是否为当前活动工作表来区分。当前活动的工作表也可以称为activesheet。

也就是说,activesheet其实是worksheet的一种特例。

本节,我们就先从单个的worksheet的属性和方法学起,中间也会穿插一些worksheets的内容。

属性

index

用于返回worksheet在worksheets集合中的索引号。号码从1开始,一直到worksheets的个数。

例如,在下图中,如果使用如下代码来获得sheet4的索引号,会返回2,因为他是从左边数第二个。

name

这个就不用问了,看英文就知道是worksheet的名称属性。同样,用上图举例的话,worksheets(1).name 就是”sheet1”。注意这是一个字符串。

usedrange

用来获得worksheet中已经被使用的range,返回的是一个range对象。之所以没有在range里讲这个,是因为usedrange一定要配合worksheet来使用。

activesheet.UsedRange.SelectSelection.Value = 9

使用UsedRange会得到一个矩形range,包括所有已经使用单元格矩形区域,以及之间的空白单元格。

注意,即使单元格没有值,但被颜色填充,也被认为已使用。如下图所示

实例化和引用

引用

谈到worksheet的引用,我们必须把worksheets集合拉进来。事实上,可以这么理解,worksheet的引用就是指定worksheets集合中某个特定值(如名称或者索引)的worksheet.

我们常用的引用方法有两种,名称法和索引法。

直接使用名称

worksheets("sheet1")

使用索引号

worksheets(1)

Set方法

在VBA里,对于对象变量的定义,仍然可以使用dim方法。例如:

dim wksht as worksheet

定义完变量之后,需要对对象变量进行实例化,需要使用set方法

set wksht = worksheets(1)

对于Excel VBA中所有的对象来说,定义完之后如果要引用都可以用set来实例化,实例化过后就可以对其正常使用对象的方法和属性了。

例如,在上述set语句结束后,修改index为1的工作表的名字就可以用:

wksht.name = "new_name"

当然我们还是可以使用

worksheets(1).name = "new_name"

但我们明显可以看出,如果要多次引用这个工作表,使用set方法定义会使代码书写更加简洁,易懂。

总结

sheets,worksheets,worksheet,activesheet 的区别

worksheet的常用属性

worksheet的实例化与引用

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。