1.2 放下包袱轻松学习
了解一些Excel“身体结构”的词汇后,我们就可以进一步理解VBA工作原理了。比如,我们有这样一个任务:在当前工作簿中名称为“Sheet1”的工作表的第1行第1列单元格里填写一段文字“我在这里!”,我们可以这样用VBA语句告诉Excel:
ThisWorkbook.Worksheets("Sheet1").Cells(1,1).Value="我在这里!"
或者
ThisWorkbook.Worksheets("Sheet1").Range("A1").Value="我在这里!"
再举一个例子,把工作簿中名称为“Sheet3”的工作表移动到名称为“Sheet1”的工作表之前,我们可以这样用VBA语言告诉Excel:
ThisWorkbook.Worksheets("Sheet3").Move Before:=ThisWorkbook.Worksheets("Sheet1")
怎么样?感觉如何?大概你已经从VBA语句的表面意思看出来它要做什么了吧。如果没有完全理解,也没有关系,在这里只是让大家从感性上对VBA有一些认识。在本书接下来的章节里,将系统地讲解VBA,最终让我们像“魔法师”一样,用VBA这种强大的“咒语”来驯服Excel这个“小怪兽”。
用VBA操作Excel,其实有点儿像操纵木偶戏里的木偶,比如,移动一个工作表的位置(假设移动名称为“Sheet1”的工作表),我们需要选中该工作表,然后按着鼠标左键,把工作表拖动到希望放置的位置。如果用VBA来完成这件事,需要我们用VBA告诉Excel要移动的工作表名称,以及想要“移动到”的目标位置。也就是这句VBA代码:
ThisWorkbook.Worksheets("Sheet3").Move Before:=ThisWorkbook.Worksheets("Sheet1")
与操纵木偶不同的是,我们一旦把完成各种操作的VBA语句记录下来形成一段“程序”,下次再次执行同样的操作时,告诉Excel再次执行这段已经编写好的程序即可,从此解脱了手工操作,不必重新写一遍同样的VBA代码了。
Excel是一个小怪兽,它的行动很敏捷,但头脑却很简单,只会一步步呆板地执行你吩咐给它的每行命令,从来不会主动思考,更不会揣摩你的心思。对于我们用VBA吩咐给它的需要多个步骤才能完成的某个具体任务,必须告诉它完成这个任务的每一个具体步骤,绝不可以模棱两可;否则,它很可能会理解错误或者干脆拒绝执行。然而,一旦你用VBA正确地告诉它完成某个任务的步骤,它就可以迅速地执行你的命令,具体有多迅速,那要看你的计算机硬件配置如何。