【烟花原创】VBA零基础之第10篇 认识语句
在上一篇认识Sub过程中,有提到“ Sub过程是一系列由 Sub 和 End Sub 语句所包含起来的 Visual Basic 语句”,今天我们就来一起来认识语句(打个预防针,理论有点多,不过看不明白也不会影响大家写代码的)。
一、那什么是语句了?
在Visual Basic中,语句是一个完整的命令。它可以包含关键字、运算符、变量、常数,以及表达式。
每个语句都属于下列三种分类之一:
1.声明语句
为变量、常数、或程序取名称,并且指定一个数据类型。
可以使用声明语句去命名和定义过程、变量、数组以及常数。
当声明一个过程、变量或常数时,也同时定义了它的范围,而此范围是取决于声明位置以及用什么关键字来声明它。
例如:
Sub ApplyFormat()
Const limit As Integer = 33
Dim myCell As Range
'更多的语句
End Sub
2.赋值语句
指定一个值或表达式给变量或常数。
赋值语句一般都伴随=号出现
例如:
name="hwc2ycy"
range("a1").value=10086
3.可执行语句
可执行语句可以执行一个方法或者函数,并且可以循环或从代码块中分支执行。
另外,系统也提供了很多实现不同功能的语句。
例如:
Sub ApplyFormat()
Const limit As Integer = 33
For Each c In Worksheets("Sheet1").Range("MyRange").Cells
If c.Value > limit Then
With c.Font
.Bold = True
.Italic = True
End With
End If
Next c
MsgBox "All done!"
End Sub
示例使用 For Each...Next 语句来重复名称为 MyRange 范围内的每个单元格,而此范围在活动的 Microsoft Excel 工作簿的 Sheet1 中。
If...Then...Else 语句检查单元格的值。如果它的值超过 33,则 With 语句设置单元格中 Font 对象的 Bold 和 Italic 属性。而 If...Then...Else 语句会以 End If 结束。
With 语句可以节省代码键入次数,因为所包含的语句会自动的执行于紧接在 With 关键字后面的对象中。
Next 语句会去调用单元格集合中的下一个单元格,而此单元格集合是包含于 MyRange 中。
MsgBox 函数(它显示一个固有的 Visual Basic 对话框)显示一个信息用来指出 Sub 过程已经完成执行。
二、将语句连续地写在多行
通常是将一个语句写在同一行中,但也可以利用一个续行符将语句连续到下一行中。
例如:
Sub DemoBox() '该过程声明一个字符串变量,
Dim myVar As String
myVar = "Hello World!"
MsgBox Prompt:= myVar, _
Title:="第一个VBA过程", _
Buttons:=vbInformation
End Sub
在上面的示例中,可执行语句 MsgBox 被接续的写在三行中。
从示例中可以发现,所谓的续行符,其实就是空格后接着开发环境中使用的下划线 (_) ,将一行代码延伸成两行以上。
但是,不能在字符串表达式中用续行符来继续一行代码。
三、注释
注释是对代码的说明,比如设计思路,功能,特别的备注等等。
写代码容易,要让人家看懂你的代码就不那么容易了
有了注释,他人要读懂代码,日后的代码维护就会轻松很多。
Visual Basic 在运行过程时,会忽略掉注释。注释行可由单引号(英文的')或 Rem 接着一个空格做为开始,并且可以加在过程的任何地方。
为了在语句的同一行中添加注释,必须在语句后面插入一个单引号,然后加上注释文本。在缺少的设置下,注释会以绿色文本显示。
四、检查语法错误
如果在键入一行代码后按下 ENTER 键,此行代码以红色文本显示(同时可能也显示一个错误信息),则必须找出语句中的错误并更正它。