Excel中VBA框架类关键字相关介绍和说明

【Excel中VBA框架类关键字相关介绍和说明】Project,中文翻译为工程、项目等 。这个关键字在VBA中表示一个工作簿所关联的代码的总容器 。所有和这个工作簿(XLS文件)关联的代码,都装在这个容器里 。但这个容器不仅仅装代码,还能装好多东西,比如工作表、模块、过程、函数等 。
Object,对象,实体 。在VBA中,工程、窗体、控件、工作表、模块等无一不是对象,因为这些都是实体,具备了独立存在的所有条件 。比如,我问你书是对象嘛?是,因为书可以独立存在 。那么颜色是对象嘛?不是,因为你无法单单拿出来一个叫“颜色”的东西,它只能作为其他东西的一种属性而存在 。同样,工程,在VBA中是独立存在的,可以作为对象来看待 。窗体、控件、工作表、模块也是一样 。代码中某个对象名称后面如果跟了个S,在VBA中表示什么意思呢?表示多个对象放在一起,我们给它们一个名字叫“集合” 。集合是对象嘛?不是,是多个对象放在一起 。这个千万要注意,因为中文是没有复数的表示方法的,所以不能理解为“一个人是人嘛?是;一群人是人嘛?当然是!”,那就错了,在VBA里“一群人”不是人,是人的集合!集合与类不同,类是对象的抽象,一个典型的例子是来自于生物界的分类 。比如某只麻雀和某只鸽子,都是具体对象,而麻雀和鸽子都可以作为独立的一类鸟这个概念来描述,这时应该说成是麻雀类和鸽子类,同时它们又都属于鸟类这个概念,所以在类这个东西里,是可以分很多层次的,但除非具体到某一只鸟,不然就都是类的概念,而不是对象 。集合呢?一群麻雀或者一群鸽子,就是集合,因为它们是由具体的很多只麻雀或鸽子组成的 。(比如Row可以作为一个类,也可以作为一个对象,就看你如何声明它,同时,Rows就是一个集合) 。
Form,窗体 。你一般在Windows里运行的程序,都具备可视化的功能 。那么这就是Form的功劳 。通过引用FORM对象,你可以对这个工程里的一些窗体进行属性的设置、事件的定义以及运行某些方法 。
Control,控件 。指的是各种按钮、标签、文本框等 。它们可以装饰你的窗体,并在窗体中提供用户各种功能 。从某种意义上讲,窗体也可以看做是控件的容器 。
Worksheet,工作表 。指EXCEL文件里的工作表,例如sheet1、sheet2等 。通过引用这个对象,可以对工作表以及下级对象的属性进行设置、事件进行定义、方法进行执行 。
Module,模块 。指在VBA工程中存放独立于用户定义对象代码的容器 。如果你想定义一些变量、过程或函数,并且想在各个对象(比如Sheet1、Sheet2等)中都能使用,并且可以互相传递值 。那么就应该将这些声明或代码写在模块中 。详细的以后用到再详述 。
Sub,过程 。容纳和组织代码的限定符号,一般和End Sub联用,不返回结果 。
Function,函数 。容纳和组织代码的限定符号,一般和End Function联用,并返回结果 。这两个概念,本来应该在代码里讲的,这里只是提示一下 。大家只要明白一个概念,除声明语句外其他代码都应该放在这两种容器内 。
Property,属性 。是指对象的特征,如大小、标题或颜色 。A已经被声明为一个Range类对象,并且已经赋予A引用为Sheet1的第一行了 。那么如果想对Sheet1表的第一行设置为值都等于0,应该如何做呢?
其实只要对Range类对象的一个Value属性设置一下就可以了,即:A.value=https://www.i8ku.com/2022/0 。
把上面所有的代码都放在Sheet1的一个叫“Worksheet_SelectionChange”的事件中,然后随便用鼠标点一个单元格试一下,是不是第一行的所有单元格都是0?不仅如此,你还可以在设置属性的语句后面,再写一句“A.Select”,这时在将第一行都赋值为0以后,又把第一行都选中了?

推荐阅读