logo资料库

EXCEL VBA函数手册.doc

第1页 / 共115页
第2页 / 共115页
第3页 / 共115页
第4页 / 共115页
第5页 / 共115页
第6页 / 共115页
第7页 / 共115页
第8页 / 共115页
资料共115页,剩余部分请下载后查看
EXCEL VBA函数手册
Abs 函数
Abs 函数示例
导出的数学函数
Array 函数
Array 函数示例
Asc 函数
Asc 函数示例
Atn 函数
Atn 函数示例
CallByName 函数
CBool等类型转换函数
语法
返回类型
说明
CBool 函数示例
CByte 函数示例
CCur 函数示例
CDate 函数示例
CDbl 函数示例
CDec 函数示例
CInt 函数示例
CLng 函数示例
CSng 函数示例
CStr 函数示例
CVar 函数示例
Choose 函数
Choose 函数示例
Chr 函数
Chr 函数示例
Command 函数
Command 函数示例
Cos 函数
Cos 函数示例
CreateObject 函数
CreateObject 函数示例
CurDir 函数
CurDir 函数示例
CVErr 函数
CVErr 函数示例
Date 函数
Date 函数示例
DateAdd 函数
DateAdd 函数示例
DateDiff 函数
DateDiff 函数示例
DatePart 函数
DatePart 函数示例
DateSerial 函数
DateSerial 函数示例
DateValue 函数
DateValue 函数示例
Day 函数
Day 函数示例
DDB 函数
Dir 函数
Dir 函数示例
DoEvents 函数
DoEvents 函数示例
Environ 函数
Environ 函数示例
EOF 函数
EOF 函数示例
Error 函数
Error 函数示例
Exp 函数
Exp 函数示例
FileAttr 函数
FileAttr 函数示例
FileDateTime 函数
FileDateTime 函数示例
FileLen 函数
FileLen 函数示例
Filter函数
Fix 、Int函数
Fix 函数,Int 函数示例
Format 函数
Format 函数示例
FormatCurrency函数
FormatDateTime函数
FormatNumber函数
FormatPercent函数
FreeFile 函数
FreeFile 函数示例
FV 函数
FV 函数示例
GetAllSettings 函数
GetAllSettings 函数示例
GetAttr 函数
GetAttr 函数示例
GetObject 函数
GetObject 函数示例
GetSetting 函数
GetSetting 函数示例
Hex 函数
Hex 函数示例
Hour 函数
Hour 函数示例
IIf 函数
IIf 函数示例
IMEStatus 函数
Input 函数
Input 函数示例
InputBox 函数
InputBox 函数示例
InStr 函数
InStr 函数示例
InStrRev函数
IPmt 函数
IPmt 函数示例
IRR 函数
IRR 函数示例
IsArray 函数
IsArray 函数示例
IsDate 函数
IsDate 函数示例
IsEmpty 函数
IsEmpty 函数示例
IsError 函数
IsError 函数示例
IsMissing 函数
IsMissing 函数示例
IsNull 函数
IsNull 函数示例
IsNumeric 函数
IsNumeric 函数示例
IsObject 函数
IsObject 函数示例
Join函数
LBound 函数
LBound 函数示例
LCase 函数
LCase 函数示例
Left 函数
Left 函数示例
Len 函数
Len 函数示例
Loc 函数
Loc 函数示例
LOF 函数
LOF 函数示例
Log 函数
Log 函数示例
LTrim、RTrim与 Trim 函数
LTrim,RTrim,及 Trim 函数示例
MacID 函数
AppActivate 语句示例
Dir 函数示例
Kill 语句示例
Shell 函数示例
MacScript 函数
MacScript 函数示例
Mid 函数
Mid 函数示例
Minute 函数
Minute 函数示例
MIRR 函数
MIRR 函数示例
Month 函数
Month 函数示例
MonthName函数
MsgBox 函数
MsgBox 函数示例
Now 函数
Now 函数示例
NPer 函数
NPer 函数示例
NPV 函数
NPV 函数示例
Oct 函数
Oct 函数示例
Partition 函数
Partition 函数示例
Pmt 函数
Pmt 函数示例
PPmt 函数
PPmt 函数示例
PV 函数
PV 函数示例
QBColor 函数
QBColor 函数示例
Rate 函数
Rate 函数示例
Replace函数
RGB 函数
RGB 函数示例
Right 函数
Right 函数示例
Rnd 函数
Rnd 函数示例
Round函数
Second 函数
Second 函数示例
Seek 函数
Seek 函数示例
Sgn 函数
Sgn 函数示例
Shell 函数
Shell 函数示例
Sin 函数
Sin 函数示例
SLN 函数
SLN 函数示例
Space 函数
Space 函数示例
Spc 函数
Spc 函数示例
Split函数
Sqr 函数
Sqr 函数示例
Str 函数
Str 函数示例
StrComp 函数
StrComp 函数示例
StrConv 函数
StrConv 函数示例
StrReverse函数
String 函数
String 函数示例
Switch 函数
Switch 函数示例
SYD 函数
SYD 函数示例
Tab 函数
Tab 函数示例
Tan 函数
Tan 函数示例
Time 函数
Time 函数示例
Timer 函数
Timer 函数示例
TimeSerial 函数
TimeSerial 函数示例
TimeValue 函数
TimeValue 函数示例
TypeName 函数
TypeName 函数示例
UBound 函数
UBound 函数示例
UCase 函数
UCase 函数示例
Val 函数
Val 函数示例
VarType 函数
VarType 函数示例
Weekday 函数
Weekday 函数示例
WeekdayName函数
Year 函数
Year 函数示例
EXCEL VBA 函数手册 Abs 函数 返回参数的绝对值,其类型和参数相同。 语法 Abs(number) 必要的 number 参数是任何有效的数值表达式,如果 number 包含 Null,则返 回 Null,如果 number 是未初始化的变量,则返回 0。 说明 一个数的绝对值是将正负号去掉以后的值。例如,ABS(-1) 和 ABS(1) 都返回 1。 Abs 函数示例 本示例使用 Abs 函数计算数的绝对值。 Dim MyNumber MyNumber = Abs(50.3) MyNumber = Abs(-50.3) 请参阅: Sgn 函数、数学函数中的 Abs 函数、Atn 函数、Cos 函数、Exp 函数、Fix 函数、Int 函数、 Log 函数、Rnd 函数、Sgn 函数、Sin 函数、Sqr 函数、Tan 函数、导出的数学函数: ' 返回 50.3。 ' 返回 50.3。 导出的数学函数 以下为非基本数学函数的列表,皆可由基本数学函数导出: 函数 由基本函数导出之公式 Secant(正割) Sec(X) = 1 / Cos(X) Cosecant(余割) Cosec(X) = 1 / Sin(X) Cotangent(余切) Cotan(X) = 1 / Tan(X) Inverse Sine (反正弦) Arcsin(X) = Atn(X / Sqr(-X * X + 1)) Inverse Cosine (反余弦) Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1) Inverse Secant (反正割) Arcsec(X) = Atn(X / Sqr(X * X - 1)) + Sgn((X) - 1) * (2 * Atn(1)) Inverse Cosecant (反余 割) Arccosec(X) = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 * Atn(1))
Inverse Cotangent (反余 切) Hyperbolic Sine (双曲正 弦) Hyperbolic Cosine (双曲 余弦) Hyperbolic Tangent (双 曲正切) Hyperbolic Secant (双曲 正割) Hyperbolic Cosecant(双曲 余割) Hyperbolic Cotangent(双 曲余切) Inverse Hyperbolic Sine (反双曲正弦) Inverse Hyperbolic Cosine (反双曲余弦) Inverse Hyperbolic Tangent(反双曲正切) Inverse Hyperbolic Secant (反双曲正割) Inverse Hyperbolic Cosecant Arccotan(X) = Atn(X) + 2 * Atn(1) HSin(X) = (Exp(X) - Exp(-X)) / 2 HCos(X) = (Exp(X) + Exp(-X)) / 2 HTan(X) = (Exp(X) - Exp(-X)) / (Exp(X) + Exp(-X)) HSec(X) = 2 / (Exp(X) + Exp(-X)) HCosec(X) = 2 / (Exp(X) - Exp(-X)) HCotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) - Exp(-X)) HArcsin(X) = Log(X + Sqr(X * X + 1)) HArccos(X) = Log(X + Sqr(X * X - 1)) HArctan(X) = Log((1 + X) / (1 - X)) / 2 HArcsec(X) = Log((Sqr(-X * X + 1) + 1) / X) HArccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) + 1) / X) Inverse Hyperbolic Cotangent (反双曲余切) HArccotan(X) = Log((X + 1) / (X - 1)) / 2 以 N 为底的对数 LogN(X) = Log(X) / Log(N) Array 函数 返回一个包含数组的 Variant。 语法 Array(arglist) 所需的 arglist 参数是一个用逗号隔开的值表,这些值用于给 Variant 所包含的 数组的各元素赋值。如果不提供参数,则创建一个长度为 0 的数组。 说明 第 2页
用来表示数组元素的符号由变量名、圆括号以及括号中的所需元素的索引号组 成。在下面的示例中,第一条语句创建一个 Variant 的变量 A。第二条语句将 一个数组赋给变量 A。最后一条语句将该数组的第二个元素的值赋给另一个变 量。 Dim A As Variant A = Array(10,20,30) B = A(2) 使用 Array 函数创建的数组的下界受 Option Base 语句指定的下界的决定, 除非 Array 是由类型库(例如 VBA.Array )名称限定。如果是由类型库名称限 定,则 Array 不受 Option Base 的影响。 注意 没有作为数组声明的 Variant 也可以表示数组。除了长度固定的字符串以 及用户定义类型之外,Variant 变量可以表示任何类型的数组。尽管一个包含数 组的 Variant 和一个元素为 Variant 类型的数组在概念上有所不同,但对数组 元素的访问方式是相同的。 Array 函数示例 该示例使用 Array 函数来返回一个包含 Variant 的数组。 Dim MyWeek, MyDay MyWeek = Array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun") '返回值假设下界的设置为 1(使用 Option Base ' 语句)。 MyDay = MyWeek(2) MyDay = MyWeek(4) 'MyDay 的值为 "Tue"。 'MyDay 的值为 "Thu"。 Asc 函数 返回一个 Integer,代表字符串中首字母的字符代码。 语法 Asc(string) 必要的 string 参数可以是任何有效的字符串表达式。如果 string 中没有包含任 何字符,则会产生运行时错误。 说明 在非 DBCS 系统下,返回值范围为 0 – 255 。在 DBCS 系统下,则为 -32768 – 32767。 注意 AscB 函数作用于包含在字符串中的字节数据,AscB 返回第一个字节的字 符代码,而非字符的字符代码。AscW 函数返回 Unicode 字符代码,若平台不 支持 Unicode,则与 Asc 函数功能相同。 Asc 函数示例 本示例使用 Asc 函数返回字符串首字母的字符值(ASCII 值)。 Dim MyNumber 第 3页
MyNumber = Asc("A") MyNumber = Asc("a") MyNumber = Asc("Apple") ' 返回 65。 ' 返回 97。 ' 返回 65。 Atn 函数 返回一个 Double,指定一个数的反正切值。 语法 Atn(number) 必要的 number 参数是一个 Double 或任何有效的数值表达式。 说明 Atn 函数的参数值 (number) 为直角三角形两边的比值并返回以弧度为单位的 角。这个比值是角的对边长度除以角的邻边长度之商。 值的范围在 -pi/2 和 pi/2 弧度之间。 为了将角度转换为弧度,请将角度乘以 pi/180。为了将弧度转换为角度,请将弧 度乘以 180/pi。 注意 Atn 是 Tan 的反三角函数,Tan 的参数值为角度,返回直角三角形的两 条边的比值。不要将 Atn 和余切函数混淆,余切函数值是正切函数值的倒数, cotangent = (1/tangent)。 Atn 函数示例 本示例使用 Atn 函数计算圆周率。 Dim pi pi = 4 * Atn(1) ' 计算圆周率。 CallByName 函数 执行一个对象的方法,或者设置或返回一个对象的属性。 语法 CallByName(object, procname, calltype,[args()]) CallByName 函数的语法有以下命名参数: 部分 object procname calltype 描述 必需的;变体型(对象)。函数将要执行的对象的名称。 必需的;变体型(字符串)。一个包含该对象的属性名称或者 方法名称的字符串表达式。 必需的;常数。一个 vbCallType 类型的常数,代表正在被调 用的过程的类型。 第 4页
args() 可选的:变体型(数组)。 说明 CallByName 函数用于获取或者设置一个属性,或者在运行时使用一个字符串名 称来调用一个方法。 在下面的例子中,第一行使用 CallByName 来设置一个文本框的 MousePointer 属性,第二行得到 MousePointer 属性的值,第三行调用 Move 方法来移动文 本框: CallByName Text1, "MousePointer", vbLet, vbCrosshair Result = CallByName (Text1, "MousePointer", vbGet) CallByName Text1, "Move", vbMethod, 100, 100 CBool 等类型转换函数 每个函数都可以强制将一个表达式转换成某种特定数据类型。 语法 CBool(expression) CByte(expression) CCur(expression) CDate(expression) CDbl(expression) CDec(expression) CInt(expression) CLng(expression) CSng(expression) CStr(expression) CVar(expression) 必要的 expression 参数可以是任何字符串表达式或数值表达式。 返回类型 函数名称决定返回类型,如下所示: 函数 返回类型 expression 参数范围 CBool Boolean 任何有效的字符串或数值表达式。 CByte Byte 0 至 255。 CCur Currency -922,337,203,685,477.5808 至 922,337,203,685,477.5807。 CDate Date CDbl Double CDec Decimal 任何有效的日期表达式。 负数从 -1.79769313486231E308 至 -4.94065645841247E-324;正数从 4.94065645841247E-324 至 1.79769313486232E308。 零变比数值,即无小数位数值,为 +/-79,228,162,514,264,337,593,543,950,335。对于 28 位 小数的数值,范围则为 +/-7.9228162514264337593543950335;最小的可能非零 值是 0.0000000000000000000000000001。 第 5页
CInt CLng CSng CStr CVar Integer Long Single String Variant -32,768 至 32,767,小数部分四舍五入。 -2,147,483,648 至 2,147,483,647,小数部分四舍五入。 负数为 -3.402823E38 至 -1.401298E-45;正数为 1.401298E-45 至 3.402823E38。 依据 expression 参数返回 Cstr。 若为数值,则范围与 Double 相同;若不为数值,则范 围与 String 相同。 说明 如果传递给函数的 expression 超过转换目标数据类型的范围,将发生错误。 通常,在编码时可以使用数据类型转换函数,来体现某些操作的结果应该表示为 特定的数据类型,而不是缺省的数据类型。例如,当单精度、双精度或整数运算 发生的情况下,使用 CCur 来强制执行货币运算。 应该使用数据类型转换函数来代替 Val,以使国际版的数据转换可以从一种数据 类型转换为另一种。例如,当使用 Ccur 时,不同的小数点分隔符、千分位分 隔符和各种货币选项,依据系统的区域设置都会被妥善识别。 当小数部分恰好为 0.5 时,Cint 和 CLng 函数会将它转换为最接近的偶数值。 例如,0.5 转换为 0、1.5 转换为 2。Cint 和 CLng 函数不同于 Fix 和 Int 函 数,Fix 和 Int 函数会将小数部分截断而不是四舍五入。并且 Fix 和 Int 函数 总是返回与传入的数据类型相同的值。 使用 IsDate 函数,可判断 date 是否可以被转换为日期或时间。Cdate 可用来 识别日期文字和时间文字,以及落入可接受的日期范围内的数值。当转换一个数 字成为日期时,是将整数部分转换为日期,小数部分转换为从午夜起算的时间。 CDate 依据系统上的区域设置来决定日期的格式。如果提供的格式为不可识别 的日期设置,则不能正确判断年、月、日的顺序。另外,长日期格式,若包含有 星期的字符串,也不能被识别。 CVDate 函数也提供对早期 Visual Basic 版本的兼容性。CVDate 函数的语法与 CDate 函数是完全相同的,不过,CVDate 是返回一个 Variant,它的子类型是 Date,而不是实际的 Date 类型。因为现在已有真正的 Date 类型,所以 CVDate 也不再需要了。转换一个表达式成为 Date,再赋值给一个 Variant,也可以达 到同样的效果。也可以使用这种技巧将其他真正的数据类型转换为对等的 Variant 子类型。 注意 CDec 函数不能返回独立的数据类型,而总是返回一个 Variant,它的值 已经被转换为 Decimal 子类型。 第 6页
' 设置变量初值。 ' Check 的值为 True。 ' Check 的值为 False。 CBool 函数示例 本示例使用 CBool 函数来将一表达式转成 Boolean 值。如果表达式的结果为 非零的值,CBool 返回 True;否则返回 False。 Dim A, B, Check A = 5: B = 5 Check = CBool(A = B) A = 0 ' 定义变量。 Check = CBool(A) CByte 函数示例 本示例使用 CByte 函数将一表达式转成 Byte。 Dim MyDouble, MyByte MyDouble = 125.5678 MyByte = CByte(MyDouble) CCur 函数示例 本示例使用 CCur 函数将表达式转成 Currency。 Dim MyDouble, MyCurr MyDouble = 543.214588 MyCurr = CCur(MyDouble * 2) ' MyDouble 为 Double(双精度)。 ' MyDouble 为 Double 类型。 ' 将 MyDouble * 2 的结果 ' MyByte 值为 126。 ' (1086.429176)转换为 Currency (1086.4292)。 ' 定义时间。 ' 定义日期。 ' 转换为 Date 数据类型。 CDate 函数示例 本示例使用 CDate 函数将字符串转换成 Date。一般说来,字符串格式的日期 与时间硬编码(如示例中所示)并不好。较好的做法是使用日期原义表达式和时 间的原义表达式(如 #2/12/1969#,#4:45:23 PM#)。 Dim MyDate, MyShortDate, MyTime, MyShortTime MyDate = "February 12, 1969" MyShortDate = CDate(MyDate) MyTime = "4:35:47 PM" MyShortTime = CDate(MyTime) CDbl 函数示例 本示例使用 CDbl 函数将表达式转换为 Double 类型。 Dim MyCurr, MyDouble MyCurr = CCur(234.456784) MyDouble = CDbl(MyCurr * 8.2 * 0.01) CDec 函数示例 该示例使用 CDec 函数将数字值转换为 Decimal。 Dim MyDecimal, MyCurr MyCurr = 10000000.0587 MyDecimal = CDec(MyCurr) ' 将结果转换为 Double 类型。 ' MyCurr 为 Currency 类型。 ' MyDecimal 是二进制数。 ' 转换为 Date 数据类型。 ' MyCurr 是货币。 第 7页
' MyDouble 为 Double 类型。 ' MyInt 的值为 2346。 CInt 函数示例 本示例使用 CInt 函数将一数值转换为 Integer。 Dim MyDouble, MyInt MyDouble = 2345.5678 MyInt = CInt(MyDouble) CLng 函数示例 本示例使用 CLng 函数将一数值转换为 Long。 Dim MyVal1, MyVal2, MyLong1, MyLong2 MyVal1 = 25427.45: MyVal2 = 25427.55 型。 MyLong1 = CLng(MyVal1) MyLong2 = CLng(MyVal2) CSng 函数示例 本示例使用 CSng 函数将一数值转换为 Single。 Dim MyDouble1, MyDouble2, MySingle1, MySingle2 ' MyDouble1、MyDouble2 均为 Double 类型。 MyDouble1 = 75.3421115: MyDouble2 = 75.3421555 MySingle1 = CSng(MyDouble1) MySingle2 = CSng(MyDouble2) CStr 函数示例 本示例使用 CStr 函数将一数值转换为 String。 Dim MyDouble, MyString MyDouble = 437.324 MyString = CStr(MyDouble) CVar 函数示例 本示例使用 CVar 函数将表达式转换为 Variant。 Dim MyInt, MyVar MyInt = 4534 MyVar = CVar(MyInt & "000") Choose 函数 从参数列表中选择并返回一个值。 ' MyInt 为 Integer 类型。 ' MySingle1 的值为 75.34211。 ' MySingle2 的值为 75.34216。 ' MyDouble 为 Double 类型。 ' MyString 的内容为“437.324”。 ' MyVal1、MyVal2 均为 Double 类 ' MyLong1 的值为 25427。 ' MyLong2 的值为 25428。 ' MyVar 的内容为字符串“4534000”。 语法 Choose(index, choice-1[, choice-2, ... [, choice-n]]) Choose 函数的语法具有以下几个部分: 部分 描述 index 必要参数,数值表达式或字段,它的运算结果是一个数值,且界于 1 第 8页
分享到:
收藏