我们在前面已经说到录制宏和资源工程管理器,也许你已经初步知道如何去录制宏,但是你还是不能快速的理解他们,因为你对VBA的基础概念知识还是很欠缺的。我们今天要和你说的是几个非常重要而且基础的知识点,对象、集合、属性,当你对这三个的基础知识点熟悉后,方可继续更好的去学习他。
我们在前面就说过VBA其实是一种脚本语言,他都不能算作是一种编程语言。在某种意义上说,他可以理解为是面向对象的编程语言。如何去很好的理解对象这个概念呢?比如说Excel工作表本身就是一个对象,包括我们的单元格、图表、工作薄,都是统称为对象。我们在Excel中编程就是在操作这些对象,在Excel中处在顶端的对象是Application,其次是workboook,然后是worksheets,再次是range。他们的层级关系是从高到低的,分层级的对象。如下图所示:
假如我们要操作指定工作薄的指定工作表的指定单元格,这个代码是怎么去写呢?我们可以按照如上图的层级关系来写:
Application.thiswokbook.sheets("sheet2").range("a1").selcet
当然我们每次需要操作某个单元格不需要写这么详细,我们一般情况下可以把以上代码精简为sheets("sheet2").range("a1").selcet或者你在当前活动工作表的A1单元格,代码可以简写为range("a1").selcet,当你简写这这个时候,Excel会默认是你当前活动工作薄的工作表中的A1单元格。
现在你是否对操作对象有没有熟悉一点?对象就是我们在操作Excel的某个功能。
我们继续说集合的概念,顾名思义可以这样理解集合的概念,你居住地在武汉,那么武汉的就是所有人的居住地的一个集合。每个人都是属于武汉这个地方的。这个时候,就可以理解成Excel可以把集合看成对象本身。
在Excel中,一个工作薄可以包含N多个工作表,一个工作薄可以包含N多个单元格。我们可以通过VBA调用worksheet的集合,这个集合的本身就是workbook。Workbook的对象中的每一个worksheet对象对储存在worksheet集合之中。
请务必理解好集合的概念,后面会经常使用这个集合对象(工作薄、工作表)来循环。
接下来我们聊一聊,属性的概念。这个比较好理解,你家车的颜色是白色,这个就是对象的本质特性就是属性。但是属性这个有的可以改变,有的属性不能改变。
另外还有的属性我们只能读取,而不能改变。
当我们输入application.的时候,就会自动带出他的所有可以使用的属性。我们可以使用这些属性来返回对象。这个属性和我们方法的概念类似。
我们了解以上的概念后,其实还有一种对象的操作方法,和我们以后要说的字典的方法类似。举一个例子呀,我们对某个单元格的选择,其实就是在用对象上的方法。
Range("a1").Select,这就是对单元格对象的选择方法的应用。
另外可以说明的一点是,我们在使用某些方法时候,他们的方法是带有参数的,这个会提示我们如何去使用这个方法。比如啊,如下图所示:
在你以后的学习中,你会发现这些概念的差别和实际的使用方法的。
我是Excel教案,关注我持续分享更多的Excel技巧