2.5.2-工作簿-工作表-单元格
回顾之前的逻辑思路,本质上来讲,就是从某一个工作表的单元格中获取需要的信息写入另外一个工作表。那么怎么用
VBA
来获取呢?
首先说说在2.2节提到的3个基本概念在VBA的表达:
工作簿
:先说说当前工作簿,
ThisWorkbook
,那么如果操作其它Excel文件呢?这个后续会介绍,会有不同的表达方式
工作表
:
Worksheets
(“工作表名”)
单元格
:
Range
(“单元格位置”),
Cells
(行号, 列号)
我们想要获取某个单元格的内容,必须先定位该单元格,这个有点像快递地址,省-市-区-小区,必须唯一明确。定位单元格的方式为:工作簿.工作表.单元格。如想获取成绩查询界面工作表中B1单元格拟查询学员的姓名,可以采用以下方式:
Set shtUI = ThisWorkbook.Worksheets("成绩查询界面")
searchName = shtUI.Range("B1")
上面两行代码对于完全不懂编程的人来说,可能还是比较懵,VBA代码其实就是一行一行的语句,代码的执行主体也是一行一行往下执行的(后续介绍循环和判断结构会不同)。以上两行代码每一行代码可以理解成两部分:等号左边和等号右边。等号左边称为变量,等号右边称为该变量的取值。
变量:矩形的面积为s = a × b,其中a为长度,b为宽度。这里的s,a,b都可以称为变量,对于每一个不同的矩形,a和b即长和宽都可能不同,计算得出的面积s也不同,但他们之间的规律是固定的,即s = a × b。
VBA代码是不区分大小写的,也就是变量a和变量A表示的为同一个变量
在以上两行代码中,等号的右边可以理解为一个常量,它是固定不变的,等号的右边也可以是一个变量,后续会介绍到。本质上就是将等号右边的取值赋值给等号左边的变量。回归到本示例:
第1行定义一个变量来表示成绩查询界面工作表,是通过工作簿.工作表来定义的,这里注意前面有一个Set。在某些情况下我们需要使用Set,某些情况不需要,如第2行就不需要。记住定义工作表对象时需要提供Set,后续哪些场景需要也会逐一给出,默认都是不需要Set来进行赋值操作。
第2行定义一个变量来表示成绩查询界面工作表中单元格B1中的取值,是通过工作表.单元格来定义的,注意这里单元格的位置通过Range(“列号行号”)构成,与Cells是有区别的。