EXCELVBA函数参考手册.docx

上传人:b****3 文档编号:27014939 上传时间:2023-06-25 格式:DOCX 页数:162 大小:101.84KB
下载 相关 举报
EXCELVBA函数参考手册.docx_第1页
第1页 / 共162页
EXCELVBA函数参考手册.docx_第2页
第2页 / 共162页
EXCELVBA函数参考手册.docx_第3页
第3页 / 共162页
EXCELVBA函数参考手册.docx_第4页
第4页 / 共162页
EXCELVBA函数参考手册.docx_第5页
第5页 / 共162页
点击查看更多>>
下载资源
资源描述

EXCELVBA函数参考手册.docx

《EXCELVBA函数参考手册.docx》由会员分享,可在线阅读,更多相关《EXCELVBA函数参考手册.docx(162页珍藏版)》请在冰豆网上搜索。

EXCELVBA函数参考手册.docx

EXCELVBA函数参考手册

ExcelVBA学习资料

摘自Excel2003VBA帮助

2006年12月29日

Abs函数

返回参数的绝对值,其类型和参数相同。

语法

Abs(number)

必要的number参数是任何有效的数值表达式,如果number包含Null,则返回Null,如果number是未初始化的变量,则返回0。

说明

一个数的绝对值是将正负号去掉以后的值。

例如,ABS(-1)和ABS

(1)都返回1。

Abs函数示例

本示例使用Abs函数计算数的绝对值。

DimMyNumber

MyNumber=Abs(50.3)'返回50.3。

MyNumber=Abs(-50.3)'返回50.3。

请参阅:

Sgn函数、数学函数中的Abs函数、Atn函数、Cos函数、Exp函数、Fix函数、Int函数、Log函数、Rnd函数、Sgn函数、Sin函数、Sqr函数、Tan函数、导出的数学函数:

导出的数学函数

以下为非基本数学函数的列表,皆可由基本数学函数导出:

函数

由基本函数导出之公式

Secant(正割)

Sec(X)=1/Cos(X)

Cosecant(余割)

Cosec(X)=1/Sin(X)

Cotangent(余切)

Cotan(X)=1/Tan(X)

InverseSine(反正弦)

Arcsin(X)=Atn(X/Sqr(-X*X+1))

InverseCosine(反余弦)

Arccos(X)=Atn(-X/Sqr(-X*X+1))+2*Atn

(1)

InverseSecant(反正割)

Arcsec(X)=Atn(X/Sqr(X*X-1))+Sgn((X)-1)*(2*Atn

(1))

InverseCosecant(反余割)

Arccosec(X)=Atn(X/Sqr(X*X-1))+(Sgn(X)-1)*(2*Atn

(1))

InverseCotangent(反余切)

Arccotan(X)=Atn(X)+2*Atn

(1)

HyperbolicSine(双曲正弦)

HSin(X)=(Exp(X)-Exp(-X))/2

HyperbolicCosine(双曲余弦)

HCos(X)=(Exp(X)+Exp(-X))/2

HyperbolicTangent(双曲正切)

HTan(X)=(Exp(X)-Exp(-X))/(Exp(X)+Exp(-X))

HyperbolicSecant(双曲正割)

HSec(X)=2/(Exp(X)+Exp(-X))

HyperbolicCosecant(双曲余割)

HCosec(X)=2/(Exp(X)-Exp(-X))

HyperbolicCotangent(双曲余切)

HCotan(X)=(Exp(X)+Exp(-X))/(Exp(X)-Exp(-X))

InverseHyperbolicSine(反双曲正弦)

HArcsin(X)=Log(X+Sqr(X*X+1))

InverseHyperbolicCosine(反双曲余弦)

HArccos(X)=Log(X+Sqr(X*X-1))

InverseHyperbolicTangent(反双曲正切)

HArctan(X)=Log((1+X)/(1-X))/2

InverseHyperbolicSecant(反双曲正割)

HArcsec(X)=Log((Sqr(-X*X+1)+1)/X)

InverseHyperbolicCosecant

HArccosec(X)=Log((Sgn(X)*Sqr(X*X+1)+1)/X)

InverseHyperbolicCotangent(反双曲余切)

HArccotan(X)=Log((X+1)/(X-1))/2

以N为底的对数

LogN(X)=Log(X)/Log(N)

Array函数

返回一个包含数组的Variant。

语法

Array(arglist)

所需的arglist参数是一个用逗号隔开的值表,这些值用于给Variant所包含的数组的各元素赋值。

如果不提供参数,则创建一个长度为0的数组。

说明

用来表示数组元素的符号由变量名、圆括号以及括号中的所需元素的索引号组成。

在下面的示例中,第一条语句创建一个Variant的变量A。

第二条语句将一个数组赋给变量A。

最后一条语句将该数组的第二个元素的值赋给另一个变量。

DimAAsVariant

A=Array(10,20,30)

B=A

(2)

使用Array函数创建的数组的下界受OptionBase语句指定的下界的决定,除非Array是由类型库(例如VBA.Array)名称限定。

如果是由类型库名称限定,则Array不受OptionBase的影响。

注意没有作为数组声明的Variant也可以表示数组。

除了长度固定的字符串以及用户定义类型之外,Variant变量可以表示任何类型的数组。

尽管一个包含数组的Variant和一个元素为Variant类型的数组在概念上有所不同,但对数组元素的访问方式是相同的。

Array函数示例

该示例使用Array函数来返回一个包含Variant的数组。

DimMyWeek,MyDay

MyWeek=Array("Mon","Tue","Wed","Thu","Fri","Sat","Sun")

'返回值假设下界的设置为1(使用OptionBase

'语句)。

MyDay=MyWeek

(2)'MyDay的值为"Tue"。

MyDay=MyWeek(4)'MyDay的值为"Thu"。

Asc函数

返回一个Integer,代表字符串中首字母的字符代码。

语法

Asc(string)

必要的string参数可以是任何有效的字符串表达式。

如果string中没有包含任何字符,则会产生运行时错误。

说明

在非DBCS系统下,返回值范围为0–255。

在DBCS系统下,则为-32768–32767。

注意AscB函数作用于包含在字符串中的字节数据,AscB返回第一个字节的字符代码,而非字符的字符代码。

AscW函数返回Unicode字符代码,若平台不支持Unicode,则与Asc函数功能相同。

Asc函数示例

本示例使用Asc函数返回字符串首字母的字符值(ASCII值)。

DimMyNumber

MyNumber=Asc("A")'返回65。

MyNumber=Asc("a")'返回97。

MyNumber=Asc("Apple")'返回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函数计算圆周率。

Dimpi

pi=4*Atn

(1)'计算圆周率。

CallByName函数

执行一个对象的方法,或者设置或返回一个对象的属性。

语法

CallByName(object,procname,calltype,[args()])

CallByName函数的语法有以下命名参数:

部分

描述

object

必需的;变体型(对象)。

函数将要执行的对象的名称。

procname

必需的;变体型(字符串)。

一个包含该对象的属性名称或者方法名称的字符串表达式。

calltype

必需的;常数。

一个vbCallType类型的常数,代表正在被调用的过程的类型。

args()

可选的:

变体型(数组)。

说明

CallByName函数用于获取或者设置一个属性,或者在运行时使用一个字符串名称来调用一个方法。

在下面的例子中,第一行使用CallByName来设置一个文本框的MousePointer属性,第二行得到MousePointer属性的值,第三行调用Move方法来移动文本框:

CallByNameText1,"MousePointer",vbLet,vbCrosshair

Result=CallByName(Text1,"MousePointer",vbGet)

CallByNameText1,"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

负数从-1.79769313486231E308至-4.94065645841247E-324;正数从4.94065645841247E-324至1.79769313486232E308。

CDec

Decimal

零变比数值,即无小数位数值,为

+/-79,228,162,514,264,337,593,543,950,335。

对于28位小数的数值,范围则为

+/-7.9228162514264337593543950335;最小的可能非零值是0.0000000000000000000000000001。

CInt

Integer

-32,768至32,767,小数部分四舍五入。

CLng

Long

-2,147,483,648至2,147,483,647,小数部分四舍五入。

CSng

Single

负数为-3.402823E38至-1.401298E-45;正数为1.401298E-45至3.402823E38。

CStr

String

依据expression参数返回Cstr。

CVar

Variant

若为数值,则范围与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函数也提供对早期VisualBasic版本的兼容性。

CVDate函数的语法与CDate函数是完全相同的,不过,CVDate是返回一个Variant,它的子类型是Date,而不是实际的Date类型。

因为现在已有真正的Date类型,所以CVDate也不再需要了。

转换一个表达式成为Date,再赋值给一个Variant,也可以达到同样的效果。

也可以使用这种技巧将其他真正的数据类型转换为对等的Variant子类型。

注意CDec函数不能返回独立的数据类型,而总是返回一个Variant,它的值已经被转换为Decimal子类型。

CBool函数示例

本示例使用CBool函数来将一表达式转成Boolean值。

如果表达式的结果为非零的值,CBool返回True;否则返回False。

DimA,B,Check

A=5:

B=5'设置变量初值。

Check=CBool(A=B)'Check的值为True。

A=0'定义变量。

Check=CBool(A)'Check的值为False。

CByte函数示例

本示例使用CByte函数将一表达式转成Byte。

DimMyDouble,MyByte

MyDouble=125.5678'MyDouble为Double(双精度)。

MyByte=CByte(MyDouble)'MyByte值为126。

CCur函数示例

本示例使用CCur函数将表达式转成Currency。

DimMyDouble,MyCurr

MyDouble=543.214588'MyDouble为Double类型。

MyCurr=CCur(MyDouble*2)'将MyDouble*2的结果

'(1086.429176)转换为Currency(1086.4292)。

CDate函数示例

本示例使用CDate函数将字符串转换成Date。

一般说来,字符串格式的日期与时间硬编码(如示例中所示)并不好。

较好的做法是使用日期原义表达式和时间的原义表达式(如#2/12/1969#,#4:

45:

23PM#)。

DimMyDate,MyShortDate,MyTime,MyShortTime

MyDate="February12,1969"'定义日期。

MyShortDate=CDate(MyDate)'转换为Date数据类型。

MyTime="4:

35:

47PM"'定义时间。

MyShortTime=CDate(MyTime)'转换为Date数据类型。

CDbl函数示例

本示例使用CDbl函数将表达式转换为Double类型。

DimMyCurr,MyDouble

MyCurr=CCur(234.456784)'MyCurr为Currency类型。

MyDouble=CDbl(MyCurr*8.2*0.01)'将结果转换为Double类型。

CDec函数示例

该示例使用CDec函数将数字值转换为Decimal。

DimMyDecimal,MyCurr

MyCurr=10000000.0587'MyCurr是货币。

MyDecimal=CDec(MyCurr)'MyDecimal是二进制数。

CInt函数示例

本示例使用CInt函数将一数值转换为Integer。

DimMyDouble,MyInt

MyDouble=2345.5678'MyDouble为Double类型。

MyInt=CInt(MyDouble)'MyInt的值为2346。

CLng函数示例

本示例使用CLng函数将一数值转换为Long。

DimMyVal1,MyVal2,MyLong1,MyLong2

MyVal1=25427.45:

MyVal2=25427.55'MyVal1、MyVal2均为Double类型。

MyLong1=CLng(MyVal1)'MyLong1的值为25427。

MyLong2=CLng(MyVal2)'MyLong2的值为25428。

CSng函数示例

本示例使用CSng函数将一数值转换为Single。

DimMyDouble1,MyDouble2,MySingle1,MySingle2

'MyDouble1、MyDouble2均为Double类型。

MyDouble1=75.3421115:

MyDouble2=75.3421555

MySingle1=CSng(MyDouble1)'MySingle1的值为75.34211。

MySingle2=CSng(MyDouble2)'MySingle2的值为75.34216。

CStr函数示例

本示例使用CStr函数将一数值转换为String。

DimMyDouble,MyString

MyDouble=437.324'MyDouble为Double类型。

MyString=CStr(MyDouble)'MyString的内容为“437.324”。

CVar函数示例

本示例使用CVar函数将表达式转换为Variant。

DimMyInt,MyVar

MyInt=4534'MyInt为Integer类型。

MyVar=CVar(MyInt&"000")'MyVar的内容为字符串“4534000”。

Choose函数

从参数列表中选择并返回一个值。

语法

Choose(index,choice-1[,choice-2,...[,choice-n]])

Choose函数的语法具有以下几个部分:

部分

描述

index

必要参数,数值表达式或字段,它的运算结果是一个数值,且界于1和可选择的项目数之间。

choice

必要参数,Variant表达式,包含可选择项目的其中之一。

说明

Choose会根据index的值来返回选择项列表中的某个值。

如果index是1,则Choose会返回列表中的第1个选择项。

如果index是2,则会返回列表中的第2个选择项,以此类推。

可以使用Choose来查阅一个列表中的项目。

例如,如果index所指定的值为3,而choice-1="one"、choice-2="two"、且choice-3="three",那么Choose将返回"three"。

当index代表一选项组中的值时,则这项功能将会特别有用。

即使它只返回一个选项值,Choose仍然会计算列表中的每个选择项。

所以应该注意到这项副作用。

例如,当在每个选择项表达式中使用了MsgBox函数作为其中的一部分时,每计算一个选择项,就会显示一次消息框。

当index小于1或大于列出的选择项数目时,Choose函数返回Null。

如果index不是整数,则会先四舍五入为与其最接近的整数。

Choose函数示例

本示例使用Choose函数来显示一个名称,该名称对应於用Ind参数传递到过程之中的索引。

FunctionGetChoice(IndAsInteger)

GetChoice=Choose(Ind,"Speedy","United","Federal")

EndFunction

Chr函数

返回String,其中包含有与指定的字符代码相关的字符。

语法

Chr(charcode)

必要的charcode参数是一个用来识别某字符的Long。

说明

0到31之间的数字与标准的非打印ASCII代码相同。

例如,Chr(10)可以返回换行字符。

charcode的正常范围为0–255。

然而,在DBCS系统,charcode的实际范围为-32768到65535。

注意ChrB函数作用于包含在String中的字节数据。

ChrB总是返回一个单字节,而不是返回一个字符,一个字符可能是一个或两个字节。

ChrW函数返回包含Unicode的String,若在不支持Unicode的平台上,则其功能与Chr函数相同。

注意VisualBasicfortheMacintosh不支持Unicode字符串。

因此,当n值在128–65,535范围内时,ChrW(n)不能像在Windows环境中那样返回所有的Unicode字符。

相反地,当Unicode的n值大于127时,ChrW(n)会试图做一个“最好的猜测”。

因此,在Macintosh环境中,不能使用ChrW。

Chr函数示例

本示例使用Chr函数来返回指定字符码所代表的字符。

DimMyChar

MyChar=Chr(65)'返回A。

MyChar=Chr(97)'返回a。

MyChar=Chr(62)'返回>。

MyChar=Chr(37)'返回%。

Command函数

返回命令行的参数部分,该命令行用于装入MicrosoftVisualBasic或VisualBasic开发的可执行程序。

VisualBasicCommand函数在MicrosoftOffi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1