编程就像做事,得讲究条理。
先做什么,后做什么,安排好了,程序才不会改错。
除了在操作上要有条理之外,也应尽量让代码条理清晰,便于阅读。所以,在编程时,除了要遵循VBA的语法规则外,还应养成一些良好的习惯。
3.10.1 代码排版,必不可少的习惯
两篇同样的稿纸,是否经过精心排版,对读者的吸引力肯定不一样。要想让自己编写的程序清晰易懂,排版的过程也必不可少。图3-52所示为排版前后的代码。
图3-52 排版前后的代码
3.10.2 怎样排版代码
缩进,让代码更有层次
缩进可以使程序更容易阅读和理解,在VBA中,过程的语句要比过程名缩进一定的字符,在If、Select Case、For…Next、Do…Loop、With语句等之后也要缩进,一般缩进4个空格,如图3-53所示。
图3-53 缩进的代码
但在缩进某行或某块代码时,并不用手动在代码前敲入4个空格,可以选中代码块(如果是一行,只需将光标定位到行首而不用选中它),按下Tab键(或依次执行【编辑】→【缩进】菜单命令)即可将代码统一缩进一个Tab宽度,如图3-54所示。
图3-54 利用菜单命令缩进代码块
如果选中已缩进的代码,按<Shift+Tab>组合键(或依次执行【编辑】一【凸出】菜单命令),则将选中的代码取消缩进一个Tab宽度。
Tab宽度默认为4个空格,可以在【选项】对话框里修改如图3-55所示。
图3-55 设置Tab宽度
更改长行代码为短行代码
当一条语句过长时,可以在句子的后面输入一个空格和下划线(—),然后换行,把一行代码分成两行。如:
虽然可以把一行代码分成两行、三行甚至更多,但盲目分行却不是好习惯,一般当一行代码的长度超过80个字符时,才考虑分行。
把多行合并为一行
在第一行代码后加上英文冒号,可以接着写第二行代码。通过这样的方式可以把多行短代码合并成一行代码。
尽管可以把多行代码写在同一行,但是这样会给阅读增加许多麻烦,所以除非必须需要,否则并不提倡这样做。
3.10.3 注释,让代码的意图清晰明了
注释就像商品的说明书,介绍代码的功能及意图。
编写的程序有什么用途,可以通过注释语句作简要介绍,让代码更加易读易懂。
添加注释语句
注释语句以英文单引号开头,后面是注释的内容。可以放在代码的末尾,也可以单独写在一行,如图3-56所示。
图3-56 为代码添加注释
当注释语句单独成一行时,还可以使用Rem代替单引号。
相信我,多数人不出3个月就会忘记自己写的程序代码的用途。所以,哪怕只是为自己,也应该为较为重要的代码添加注释。
妙用注释
在调试程序时,如果不想运行某行代码,可以在代码前加上单引号(或Rem),让它成为注释语句,而不用删除它。当要恢复这些代码时,只要将单引号(或Rem)删除即可(如图3-57所示),这个技巧在调试代码时经常都会用到。
图3-57 注释某句不需要的代码
如果要注释或取消注释一块代码,还有简单的方法,如图3-58所示。
图3-58 批量添加注释
图3-58 批量添加注释(续)
如果要取消注释,把代码还原成普通代码,就选中注释代码块,单击【编辑】工具栏中的【解除注释块】按钮,如图3-59所示。
图3-59 批量取消注释