VBA中常见函数 联系客服

发布时间 : 星期一 文章VBA中常见函数更新完毕开始阅读9649f6eb6137ee06eff91876

所以应该用工作表函数来代替这个VBA函数:即用Application.Round(2.5)来代替Round(2.5)。 Round函数

返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。 Round(expression [,numdecimalplaces]) Round函数有如下的参数: expression 必需的。要进行四舍五入运算的数值表达式。 numdecimalplaces 可选的。数字值,表示进行四舍五入运算时,小数点右边应保留的位数。如果忽略,则Round函数返回整数。

第1.35例 Split 函数

一、题目:

要求编写一段代码,运用 Split 函数返回一个一维数组。 二、代码:

Sub 示例_1_035()

Dim x%,aa,Arr For x=1 to 5

aa=aa & x & “,” Next x

aa = Left(aa, Len(aa) - 1) Arr=Split(aa,”,”) End Sub

三、代码详解

1、Sub 示例_1_035():宏程序的开始语句。宏名为示例_1_035。

2、Dim x% ,aa,Arr :声明变量x为整型变量,其余两个为可变型变量。 3、For x = 1 To 5 :x从1 到5进行循环。

4、aa=aa & x & “,” :根据循环依次把变量x的值和逗号组成的字符串赋给变量aa。返回”1,2,3,4,5,”

5、aa = Left(aa, Len(aa) - 1) :因为字符串aa最后多了一个逗号,所以运用Left 和Len函数去除这个逗号以后再赋给变量aa。返回”1,2,3,4,5” 6、Arr=Split(aa,”,”) :运用 Split 函数返回一个一维数组赋给变量Arr(0 to 4)。注意:这里是以0为下标的一维数组。 Split函数

返回一个下标从零开始的一维数组,它包含指定数目的子字符串。 Split(expression[, delimiter[, limit[, compare]]]) Split函数语法有如下命名参数: expression 必需的。包含子字符串和分隔符的字符串表达式 。如果expression是一个长度为零的字符串(\,Split则返回一个空数组,即没有元素和数据的数组。 delimiter 可选的。用于标识子字符串边界的字符串字符。如果忽略,则使用空格字符(\作为分隔符。如果delimiter是一个长度为零的字符串,则返回的数组仅包含一个元素,即完整的 expression字符串。 limit 可选的。要返回的子字符串数,–1表示返回所有的子字符串。

compare 可选的。数字值,表示判别子字符串时使用的比较方式。关于其值,请参阅“设置值”部分。 设置值

compare参数的设置值如下: 常数 值 描述 vbUseCompareOption –1 用Option Compare语句中的设置值执行比较。 vbBinaryCompare 0 执行二进制比较。 vbTextCompare 1 执行文字比较。 vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。

第1.36例 Sqr 函数

一、题目:

要求编写一段代码,运用 Sqr 函数返回指定参数的平方根。 二、代码:

Sub 示例_1_036()

Dim Gou&, Gu&, Xian&, Pfg Gou = 3 Gu = 4

Xian = Sqr(Gou * Gou + Gu * Gu)

Pfg = Sqr(-4) End Sub

三、代码详解

1、Sub 示例_1_036():宏程序的开始语句。宏名为示例_1_036。

2、Dim Gou&, Gu&, Xian&, Pfg :声明变量Gou、Gu、Xian为双精度浮点型变量,& 双精度浮点型变量Double的类型声明字符,其它有类型声明字符的数据类型请见第1.24例:Pfg为可变型变量。 3、Gou = 3 :把3赋给变量Gou。 4、Gu = 4 :把4赋给变量Gu。

5、Xian = Sqr(Gou * Gou + Gu * Gu) :运用Sqr函数计算出25的平方根5,赋给变量Xian;

6、Pfg = Sqr(-4) :生成一个运行时错误(负数不能用此函数开平方根)。 注意工作表函数中也有相同的函数,但是名字是SQRT。 Sqr 函数

返回一个 Double,指定参数的平方根。 Sqr(number)

必要的 number 参数 number 是 Double 或任何有效的大于或等于 0 的数值表达式。

第1.37例 Str 和CStr 函数

一、题目:

要求编写一段代码,运用 Str 函数或者CStr 函数来将一个数字转成字符串。

二、代码:

Sub 示例_1_037() Dim Zfc$

Zfc = Str(459)

MsgBox Len(Zfc) Zfc = Str(-459.65) Zfc = CStr(459)

MsgBox Len(Zfc)

Zfc = CStr(-459.65) End Sub

三、代码详解

1、Sub 示例_1_037():宏程序的开始语句。宏名为示例_1_037。

2、Dim Zfc$ :声明变量Zfc 为字符串变量,$为字符串变量String的类型声明字符,其它有类型声明字符的数据类型请见第1.24例。

3、Zfc = Str(459) :用Str 函数将数字转换成字符串,返回” 459”;注意数字前面会保留一个空位来表示正负。

4、MsgBox Len(Zfc) :用消息框显示变量Zfc的长度,返回4;说明数字前面有一个空位。 5、Zfc = Str(-459.65) :用Str 函数将数字转换成字符串,返回”- 459.65”;因为是负数有一个负号,所以没有另外的空位了。如果用消息框显示变量Zfc的长度,返回7。

6、Zfc = CStr(459) :用CStr 函数将数字转换成字符串,返回”459”;注意数字前面没有一个空位。

7、MsgBox Len(Zfc) :用消息框显示变量Zfc的长度,返回3;说明数字前面没有空位。 Str 函数

返回代表一数值的字符串 Variant (String)。 Str(number)

必要的 number 参数为一 Long,其中可包含任何有效的数值表达式。 说明

当一数字转成字符串时,总会在前头保留一空位来表示正负。如果 number 为正,返回的字符串包含一前导空格暗示有一正号。

使用 Format 函数可将数值转成必要的格式,如日期、时间、货币或其他用户自定义格式。与 Str 不同的是,Format 函数不包含前导空格来放置 number 的正负号。

注意 Str 函数只视句点 (.) 为有效的小数点。如果使用不同的小数点(例如,国际性的应用程序),可使用 CStr 将数字转成字符串。 CBool等类型转换函数

每个函数都可以强制将一个表达式转换成某种特定数据类型。 语法

CBool(expression) CByte(expression) CCur(expression) CDate(expression) CDbl(expression) CDec(expression) CInt(expression) CLng(expression)

CSng(expression) CStr(expression) CVar(expression)

必要的 expression 参数可以是任何字符串表达式或数值表达式。 CStr 函数

可强制将一个表达式转换成字符串,返回代表一数值的字符串 Variant (String)。

CStr(expression) CStr String 依据 expression 参数返回一个字符串。

第1.38例 Time 函数

一、题目:

要求编写一段代码,运用 Time 函数来返回系统当前的时间。 二、代码:

Sub 示例_1_038() Dim Xtdqsj,sj Xtdqsj = Time '。 Sj=#12:10:00# Time =sj End Sub

三、代码详解

1、Sub 示例_1_038():宏程序的开始语句。宏名为示例_1_038。 2、Dim Xtdqsj,sj :声明变量Xtdqsj,sj 均为可变型变量。

3、Xtdqsj = Time :用Time 函数返回系统当前的时间赋给变量Xtdqsj。 4、sj=#12:10:00# :把时间赋给变量sj。

5、Time =sj :注意这里的Time不是Time 函数,而是Time语句,如果要将系统时间设置为sj 的内容就要用Time语句。 Time 函数

返回当前系统的时间Variant (Date)。 Time

为了设置系统时间,需使用 Time 语句。

第1.39例 TimeSerial 和TimeValue 函数

一、题目:

要求编写一段代码,运用 TimeSerial 函数来返回已知时分秒的时间,运用 TimeValue 函数来将字符串转换为时间。 二、代码:

Sub 示例_1_039() Dim sj,sj1 sj = TimeSerial(19, 25, 27)

sj1 = TimeValue(\ End Sub