到目前为止,我们已经能够编写一些简单的小程序,并且初步感受使用循环结构批量处理单元格的威力。不过在前面各章的例子中,一个循环结构只能处理同一行内或同一列内的所有单元格,却无法同时处理多行多列数据。换言之,这些程序只能处理“一维”数据,还不具备处理工作表这种二维结构的能力。
虽然小说《三体》中告诉我们“降维打击”才是宇宙高阶智慧生命的标志,但是对于整日面对屏幕翻检数据的人而言,尽快提升 VBA 水平,从而能够处理多维数据才是避免失业的王道。所以本章首先为大家讲解二维数据处理的关键技巧——多重循环(或称嵌套循环)结构。事实上,多重循环不仅是处理表格数据的基础技能,也是绝大多数实用程序中最常见的代码结构,因此希望读者能够仔细学习本章内容,透彻理解它的执行过程。
此外,本章还会介绍怎样使用Exit语句和Goto语句中途退出循环,以及怎样使用VBA的另一种循环语句——Do While循环及其变体形式。通过使用Do While循环,我们可以在不知道表格中数据行数(列数)的情况下,正确控制循环次数,因此它是For循环的重要补充。
具体来说,通过本章的学习,读者将会理解以下知识:
★ 什么是多重循环,为什么需要使用多重循环结构?
★ 怎样使用Do While循环?它与For循环的区别是什么?
★ Do While循环的各种变体形式及区别。
★ 怎样使用Exit语句与Goto语句?为什么不推荐大量使用这两个语句?
本章内容主要与视频课程“全民一起VBA——基础篇”第十回“While执守抱柱信,不见楼兰终不停”和第十一回“单变量难解二维表,双循环突破小周天”的内容相对应,但是讲解顺序相反,本章先讲多重循环,后讲While结构。此外,Exit语句与Goto语句的内容对应视频课程“全民一起VBA——提高篇”中的“Goto语句不走寻常路,Exit跳出轮回圈”,但所举案例不一样。因此建议读者将本章与视频课程相应章节结合学习,从多个角度加深理解。