4.1 编写程序代码的规则
任何一种程序设计语言都有一套完整而严格的编程规定,这种规定给出了一种规范,告诉编程者如何正确地使用程序语言来与计算机进行交流。在开始学习编程之前,需要了解VBA中编写程序代码所要遵守的规则,这样书写的程序代码才能被VBA识别并正确执行。
4.1.1 编写代码必须遵循的原则
VBA程序中的语句是需要计算机执行的具体的指令,它是VBA方法、书写、函数、表达式以及VBA所能识别的符号组合。在编写程序代码时,需要遵守的规则称为语法。在书写程序代码时,必须遵守下面这些基本的规则,这些规则不仅能够保证程序顺利通过调试,而且能够使代码能够被其他程序员看懂,增强程序的可读性。
● VBA程序是不区分大小写的。在输入VBA程序代码时,可以随意使用大小写字母,VBA不区分程序代码中字母的大小写。在完成输入后,VBA会自动将代码中关键字的首字母转换为大写,其余的字母转换为小写。
● 在书写程序代码时,各个关键字之间与关键字和变量名、常量名以及过程名之间必须以空格分隔。
● 要使用缩进格式。在编写程序代码时,为了使程序的结构具有可读性,可以使用缩进格式来表现代码的逻辑结构和嵌套关系。如下面的语句在for循环中包含了if结构,程序在书写时使用了缩进格式。
Set r = Range("myRange") For n = 1 To r.Rows.Count If r.Cells(n, 1) = r.Cells(n + 1, 1) Then MsgBox "Duplicate data in " & r.Cells(n + 1, 1).Address End If Next n
4.1.2 语句很长和很短怎么办
在VBA编辑器中输入程序代码时,经常会遇到一行代码很长的情况,这给代码的打印和阅读带来了不便,此时程序就需要换行。在VBA中,要实现程序的换行,可以使用续行符“_”。在使用续行符时,必须要在续行符前添加一个空格将续行符和代码分隔开。如下面这段代码添加了两个续行符将只有一行的语句分成了三行:
Application.DefaultWebOptions. _ Fonts(msoCharacterSetEnglishWesternEuropeanOtherLatinScript) _ .ProportionalFont = "Tahoma"
续行符并不能将语句从任意位置分隔后续行,程序员在键入程序时必须要为续行符选择合适的使用位置,否则续行符不仅不能发挥作用,还会引起错误警告。如对上面的语句进行如下的修改,运行程序时将得到出错提示,如图4-1所示。
图4-1 出错提示
Application.DefaultWeb _Options. Fonts(msoCharacterSetEnglishWesternEuropeanOtherLatinScript) _ .ProportionalFont = "Tahoma"
使用续行符对语句换行必须注意,续行符的出现不能打断语句的完整性,续行符不能出现在关键字、函数名、过程名或参数名的内部,即不能将上述字符串分列到两行中。通常的做法,是将续行符放置到关键字、函数名或过程名等后面。同时,VBA中允许输入的连续行不能超过24行。
在VBA中,如果遇到多条较短的语句需要书写时,可以将它们写在同一行中。此时,各条语句间应该使用英文的冒号“:”来作为分隔符。这些位于同一行的语句将被认为是独立的语句,在逐行执行时将按照顺序来执行。如下面的语句将定义两个变量,同时为这两个变量赋值,这个赋值语句合并在同一行中书写。
Dim Count, Number Count=5:Number=4
注意:将语句合并到一行中只是为了书写上方便,同时使代码显得简洁易读,并不是将多个语句合并为一条语句,程序运行时同样会分别执行这些语句。