1、基本语法1、标识符:字母开都,字母、数字和下划线组成。如 A5678_9876HJ,小于 40 个字符,Excel2002 以上中文版等,可以用汉字且长度可达 254 个字符。2、运算符:(1)赋值运算符 =(2)数学运算符: &、+ (字符连接符) 、+(加)、- (减) 、*(乘) 、/ (除) 、Mod(取余) 、(整除) 、-(负号) 、(指数)(3)逻辑运算符:Not(非) 、And (与) 、Or (或) 、Xor(异或) 、Eqv(相等) 、Imp(隐含)(4)关系运算符: = (相等) 、(大于) 、=(不小于) 、Then If Then 语句有几种形式分别用于不同的情况:当
2、只有一个条件时,可使用下面的结构:If Then Else 其中,Else 子句可选。如果该语句不在同一行中,则应在后面加上 End If 语句,即:If Then指令End If或:If Then指令Else指令End If当条件为真时,执行 Then 后面的语句并结束 IfThen 语句的执行,否则执行 Else 后面的语句或结束 IfThen 语句的执行。当有两个或多个条件时,可使用嵌套的 If Then 结构:If Then指令ElseIf Then指令Else指令End If上面只是两层嵌套,可以根据情况使用多层嵌套。当条件为真时,执行 Then 后面的语句并结束 IfThen 语句
3、的执行,否则判断条件 1,当条件 1 为真时,执行 Then 后面的语句并结束 IfThen 语句的执行,否则执行 Else 后面的指令。(2)Select Case 语句当需要作出三种或三种以上的条件判断时,最后使用 Select Case 语句。其基本语法为:Select Case Case 条件表达式 1指令Case 条件表达式 2指令Case Else指令End Select例如:Select Case PidCase “A102”Price = 102Case “A103”Price = 103Case ElsePrice = 000End Select(3)Choose 函数cho
4、ose(index, choce-1,choice-2,choice-n),可以用来选择自变量串列中的一个值,并将其返回,index 必要参数,数值表达式或字段,它的运算结果是一个数值,且界于 1 和可选择的项目数之间。choice 必要参数, Variant 表达式,包含可选择项目的其中之一。如: GetChoice = Choose(Ind, “Speedy“, “United“, “Federal“)(4)Switch 函数:Switch(expr-1, value-1, expr-2, value-2 _ , expr-n,value-n) switch 函数和 Choose 函数类似
5、,但它是以两个一组的方式返回所要的值,在串列中,最先为 TRUE 的值会被返回。 expr 必要参数,要加以计算的 Variant 表达式。value 必要参数。如果相关的表达式为 True,则返回此部分的数值或表达式,没有一个表达式为 True,Switch 会返回一个 Null 值。2、循环语句(1)For Next 循环其语法如下:For To step 步长指令Exit For指令Next 计数器 从开始到结束,反复执行 For 和 Next 之间的指令块,除非遇到 Exit For 语句,将提前跳出循环。其中,步长和 Exit For 语句以及 Next 后的计数器均为可选项。For
6、Next 循环中可以再包含 ForNext 循环,即 ForNext 循环可以嵌套使用。For Words = 10 To 1 Step -1 建立 10 次循环For Chars = 0 To 9 建立 10 次循环MyString = MyString & Chars 将数字添加到字符串中Next Chars Increment counterMyString = MyString & “ “ 添加一个空格Next Words(2)For EachNext 语句:主要功能是对一个数组或集合对象进行,让所有元素重复执行一次语句For Each element In group Stateme
7、nts Exit for Statements Next element 如 1: For Each rang2 In range1 With range2.interior .colorindex=6 .pattern=xlSolid End with Next 这上面一例中用到了 WithEnd With 语句,目的是省去对象多次调用,加快速度;语法为: With object statements End With(3)1) Do While 循环只有在满足指定的条件时才执行 Do While 循环。有两种形式: 第一种形式Do While 条件指令Exit Do指令Loop当条件满足时
8、执行指令。 第二种形式Do指令Exit Do指令Loop While 条件先执行指令,然后再判断条件,如果条件满足则再次执行指令。其中 Exit Do 语句表示提前退出指令块。2) Do Until 循环与 Do While 循环一样,也有两种形式; 第一种形式Do Until 条件指令Exit Do指令Loop 第二种形式Do指令Exit Do指令Loop Until 条件 执行指令,直到条件满足时退出循环。3) While Wend 循环其语法为:While 指令Wend当条件满足时,则执行指令。内部函数1、测试函数IsNumeric(x) 是否为数字, 返回 Boolean 结果,Tru
9、e or FalseIsDate(x) 是否是日期, 返回 Boolean 结果,True or FalseIsEmpty(x) 是否为 Empty, 返回 Boolean 结果,True or FalseIsArray(x) 指出变量是否为一个数组。IsError(expression) 指出表达式是否为一个错误值IsNull(expression) 指出表达式是否不包含任何有效数据 (Null)。IsObject(identifier) 指出标识符是否表示对象变量2、数学函数Sin(X)、Cos(X)、Tan(X)、Atan(x) 三角函数,单位为弧度Log(x) 返回 x 的自然对数Ex
10、p(x)返回 exAbs(x) 返回绝对值Int(number)、Fix(number) 都返回参数的整数部分,区别:Int 将 -8.4 转换成 -9,而 Fix 将-8.4 转换成 -8Sgn(number) 返回一个 Variant (Integer),指出参数的正负号Sqr(number) 返回一个 Double,指定参数的平方根VarType(varname) 返回一个 Integer,指出变量的子类型Rnd(x)返回 0-1 之间的单精度数据,x 为随机种子3、字符串函数Trim(string) 去掉 string 左右两端空白Ltrim(string) 去掉 string 左端空
11、白Rtrim(string) 去掉 string 右端空白Len(string) 计算 string 长度Left(string, x) 取 string 左段 x 个字符组成的字符串Right(string, x) 取 string 右段 x 个字符组成的字符串Mid(string, start,x) 取 string 从 start 位开始的 x 个字符组成的字符串Ucase(string) 转换为大写Lcase(string) 转换为小写Space(x) 返回 x 个空白的字符串Asc(string) 返回一个 integer,代表字符串中首字母的字符代码Chr(charcode) 返回
12、 string,其中包含有与指定的字符代码相关的字符4、转换函数CBool(expression) 转换为 Boolean 型CByte(expression) 转换为 Byte 型CCur(expression) 转换为 Currency 型CDate(expression) 转换为 Date 型CDbl(expression) 转换为 Double 型CDec(expression) 转换为 Decemal 型CInt(expression) 转换为 Integer 型CLng(expression) 转换为 Long 型CSng(expression) 转换为 Single 型CStr(
13、expression) 转换为 String 型CVar(expression) 转换为 Variant 型Val(string) 转换为数据型Str(number) 转换为 String5、时间函数Now 返回一个 Variant (Date),根据计算机系统设置的日期和时间来指定日期和时间。Date 返回包含系统日期的 Variant (Date)。Time 返回一个指明当前系统时间的 Variant (Date)。Timer 返回一个 Single,代表从午夜开始到现在经过的秒数。TimeSerial(hour, minute, second) 返回一个 Variant (Date),包
14、含具有具体时、分、秒的时间。DateDiff(interval, date1, date2, firstdayofweek, firstweekofyear)返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目Second(time) 返回一个 Variant (Integer),其值为 0 到 59 之间的整数,表示一分钟之中的某个秒Minute(time) 返回一个 Variant (Integer),其值为 0 到 59 之间的整数,表示一小时中的某分钟Hour(time) 返回一个 Variant (Integer),其值为 0 到 23 之间的整数,表示一天之中的某一钟点Day(date) 返回一个 Variant (Integer),其值为 1 到 31 之间的整数,表示一个月中的某一日Month(date) 返回一个 Variant (Integer),其值为 1 到 12 之间的整数,表示一年中的某月Year(date) 返回 Variant (Integer),包含表示年份的整数。Weekday(date, firstdayofweek) 返回一个 Variant (Integer),包含一个整数,代表某个日期是星期几