Excel-VBA-常用函数的语法与使用参考.doc_第1页
Excel-VBA-常用函数的语法与使用参考.doc_第2页
Excel-VBA-常用函数的语法与使用参考.doc_第3页
Excel-VBA-常用函数的语法与使用参考.doc_第4页
Excel-VBA-常用函数的语法与使用参考.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VBA函数参考1. 日期与时间函数序号函数名功能1Date无参数, 返回包含系统日期2DateAdd返回包含一个日期的Variant(Date),这一日期还加上了一段时间间隔3DateDiff返回Variant(Long)的值,表示两个指定日期间的时间间隔数目4DatePart返回一个包含已知日期的指定时间部分的Variant(Integer)5DateSerial返回包含指定的年、月、日的Variant(Date)6DateValue返回一个Variant(Date)7Day返回一个Variant(Integer),其值为131之间的整数,表示一个月中的某一日8Hour返回一个Variant(Integer),其值为023之间的整数,表示一天之中的某一钟点9Minute返回一个Variant(Integer),其值为059之间的整数,表示一小时中的某分钟10Month返回一个Variant(Integer),其值为112之间的整数,表示一年中的某月11MonthName返回一个表示指定月份的字符串12Now返回一个Variant(Date),根据计算机系统设置的日期和时间来指定日期和时间13Time返回一个指明当前系统时间的Variant(Date)14Timer返回一个Single,代表从午夜开始到现在经过的秒数15TimeSerial返回一个Variant(Date),包含其有其体时、分、秒的时间16TimeValue返回一个包含时间的Variant(Date)17Second返回一个Variant(Integer),其值为059之间的整数,表示一分钟之中的某个秒18Weekday返回一个.Variant(Integer),包含一个整数,代表某个日期是星期几19WeekdayName*返回一个字符串,表示一星期中的某天20Year返回Variant(Integer),包含表示年份的整数2. 字符串函数序号函数名功能1)Asc返回一个Integer,代表字符串中首字母的字符代码2)Chr返回String,其中包含有与指定的字符代码相关的字符3)InStr指定一字符串在另一字符串中最先出现的位置示例:InStr (1, abc, b) = 14)InStrRev*返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起5)LCase返回转成小写的String6)UCase返回Variant(String),其中包含转成大写的字符串7)Left返回Variant(String),其中包含字符串中从左边算起指定数量的字体8)Len返回Long,其中包含字符串内字符的数目或存储变量所需的字节数9)LTrin返回Variant(String),去除指定字符串的前导空格10)Mid返回Variant(String),其中包含字符串中指定数量的字符11)Reptace*返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。12)Right返回Variant(String),其中包含字符串中从右边算起指定数量的字符13)RTrim返回Variant(String),去除指定字符串的尾随空格14)Space返回特定数目空格的Variant(String)15)Str返回代表一数值的返回Variant(String)16)StrComp返回Variant(String),为字符串比较的结果17)StrConv返回按指定类型转换的Variant(String)18)String返回Variant(String),其中包含指定长度重复字符的字符串19)StrRcverse*返回一个字符串,其中一个指定子字符串的字符顺序是反向的20)Trim返回Variant(String),去除指定字符串的前导和尾随空格3. 类型转换函数序号函数名功能21)CBool将表达式转换为Boolean类型数据22)CByte将表达式转换为Byte类型数据23)Ceur将表达式转换为Currency类型数据24)CDate将表达式转换为Date类型数据25)CDbl将表达式转换为Double类型数据26)CDec将表达式转换为Decimal类型数据27)Cint将表达式转换为Integer类型数据28)CLng将表达式转换为Long类型数据29)CSng将表达式转换为Single类型数据30)CStr将表达式转换为String类型数据31)Cvar将表达式转换为Variant类型数据32)CVDate返回一个Variant类型数据,它的子类型是Date33)CVErr返回一个Variant类型数据,它的子类型是Error34)Val返回字符串内的数字4. 数组处理函数序号函数名功能35)Array返回一个包含数组的Variartt36)Split*返回一个下标从零开始的一维数组,它包含指定数目的子字符串37)Filter返回一个下标从零开始的数组,该数组包含基于指定筛选条件的一个字符串数组的子集38)Join*返回一个字符串,该字符串是通过连接某个数组中的多个子字符串而创建的39)LBound返回一个Long型数据,其值为指定数组可用的最小下标40)UBound返回一个Long型数据,其值为指定的数组可用的最大下标5. 格式化函数序号函数名功 能41)Format返回Variant(String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的42)FormatCurrency*返回一个货币值格式的表达式,它使用系统控制面板中定义的货币符号43)ForrmatDateTime*返回一个日期或时间格式的表达式44)FormatNumber*返回一个数字格式的表达式45)FormatPercent*返回一个百分比格式(乘以100)的表达式,后面有%符号6. 数学与三角函数序号函数名功 能46)Abs返回参数的绝对值,其类型和参数相同47)Atn返回一个Double,指定一个数的反正切值48)Cos返回一个Double,指定一个角的余弦值49)Exp返回Double,指定e(自然对数的底)的某次方50)Fix返回参数的整数部分51)Hex返回代表十六进制数值的String52)Int返回参数的整数部分53)Log返回一个Double,指定参数的自然对数值54)Oct返回Variant(String),代表一数值的八进制值55)Rnd返回一个包含随机数值的Single56)Round返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果57)Sgn返回一个Variant(Integer),指出参数的正负号58)Sin返回一个Double,指定参数的sine(正弦)值59)Sqr返回一个Double,指定参数的平方根60)Tan返回一个Double的值,指定一个角的正切值7. 文件处理函数序号函数名功能61)FileAttr返回一个Long,表示使用Open语句打开该文件的方式62)FileDateTime返回一个Variant(Date),此为一个文件被创建或最后修改后的日期和时间63)FileLen返回一个Long,代表一个文件的长度,单位是字节64)FreeFile返回一个Integer,代表下一个可供Open语句使用的文件号65)GetAttr返回一个Integer,此为一个文件、目录或文件夹的属性66)SetAttr为一个文件设置属性信息67)Input返回String,它包含以Input或Binary方式打开的文件中的字符68)Loc返回一个Long,在已打开的文件中指定当前读/写位置69)EOF返回一个Integer,它包含Boolean值 True,表明已经到达为Random或顺序 Input打开的文件的结尾70)LOF返回一个Long,表明用 Open语句打开的文件的大小,该大小以字节为单位71)Seek返回一个Long,在 Open语句打开的文件中指定当前的读定位置72)Spc与Print#语句或Print方法一起使用,对输出进行定位73)Tab与Print#语句或Print方法一起使用,对输出进行定位8. 信息函数序号函数名功 能74)IsArray返回Boolean值,指出变量是否为一个数组75)IsDate返回Boolean值,指出一个表达式是否可以转换成日期76)IsEmpty返回Boolean值,指出变量是否已经初始化77)IsEttor返回Boolean值,指出表达式是否为一个错误值78)IsMissing返回Boolean值,指出一个可选的Varint参数是否已经传递给过程79)IsNull返回Boolean值,指出表达式是否不包含任何有效数据(Null)80)IsNumeric返回Boolean值,指出表达式的运算结果是否为数81)IsObject返回Boolean值,指出标识符是否表示对象变量82)TypeName返回一个String,提供有关变量的信息83)VarType返回一个Integer,指出变量的子类型9. 颜色函数序号函数名功能84)QBColor返回一个Long,用来表示所对应颜色值的RGB颜色码85)RGB返回一个Long整数,用来表示一个RGB颜色值10. 财务函数序号函数名功能86)DDB返回一个Double,指定一笔资产在一特定期间内的折旧可使用双下落收复平衡方法或其他指定的方法进行计算87)FV返回一个Double,指定未来的定期定额支付且利率固定的年金88)IRR返回一个Double,指定一系列周期性现金流(支出或收入)的内部利率89)Ipmt返回一个Double,指定在一段时间内对定期定额支付且利率固定的年金所支付的利息值90)MIRR返回一个Double,指定根据一系列修改过的周期性现金流(支付和收入)的内部利率91)NPer返回一个Double,指定定期定额支付且利率固定的总期数92)NPV返回一个Double,指定根据一系列定期的现金流(支付和收入)和贴现率而定的投资净现值93)Pmt返回一个Double,指定根据定期定额支付且利率固定的年金支付额94)Ppmt返回一个Double,指定在定期定额支付且利率固定的年金的指定期间内的本金偿付额95)PV返回一个Double指定在未来定期、定额支付且利率固定的年金现值96)Rate返回一个Double,指定每一期的年金利率97)SLN返回一个Double,在一期里指定一项资产的直线折旧98)SYD返回一个Double,指定某项资产在一指定期间用年数总计法计算的折旧11. 判断函数序号函数名功能99)Choose从参数列表中选择并返回一个值100)IIF根据表达式的值,来返回两部分中的一个101)Switch计算一组表达式列表的值,然后返回与表达式列表中最先为True的表达式所相关的Variant数组或表达式12. 目录函数序号函数名功能102)CurDir返回一个Variant(String),用来代表当前的路径103)Dir返回 一个String,用来表示一个文件名,目录名或文件夹名称,它必须与指定的模式或文件属性、磁盘卷标相匹配104)ChDir改变当前的目录或文件夹105)ChDrive改变当前的驱动器106)MkDir创建一个新的目录或文件夹107)RmDir删除一个存在的目录或文件夹13. 其他函数序号函数名功能108)CallByName*执行一个对象的方法,或者设置或返回一个对象的属性109)CreateObject创建并返回一个对ActiveX对象的引用110)DoEvents转让控制权,以便让操作系统处理其他的事件111)Envnon返回String,它关连于一个操作系统环境变量在Macintosh中不可用112)Err含有关于运行时错误的信息113)Error返回对应于已知错误的信息114)GetAllSetrings从Windows注册表或( Macintosh中)应用程序初始化文件的信息中返回应用程序项目的所有注册表项设置及其相应值(开始是由 SaveSetting产生)115)GetObject返回文件中的ActiveX对象的引用116)GetSetting从Windows注册表或( Macintosh中)应用程序初始化文件的信息中返回应用程序项目的所有注册表项设置及其相应值117)InputBox在一对话框来中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的String118)MsgBox在对话框中显示消息,等待用户单击按钮,并返回一个Integer告诉用户单击哪一个按钮119)Partition返回一个Variant(String),指定一个范围,在一系列计算的范围中指定的数字出现在这个范围内120)Shell执行一个可执行文件,返回一个Variant(Date),如果成功的话,代表这个程序的任务ID,若小成功,则会返回0注意:标记有*的函数不可以用于Excel97或更早的版本中。1)赋值运算符 =2)数学运算符 &、+ (字符连接符)、+(加)、-(减)、Mod(取余)、(整除)、*(乘)、/(除)、-(负号)、(指数)3)逻辑运算符Not(非)、And(与)、Or(或)、Xor(异或)、Eqv(相等)、Imp(隐含)4)关系运算符 = (相同)、(不等)、(大于)、=(不小于)、(大于号) 大于 (A1B1)(小于号) 小于 (A1=(大于等于号) 大于或等于 (A1=B1)=(小于等于号) 小于或等于 (A1=B1)(不等号) 不相等 (A1B1)文本连接运算符 使用和号 (&) 加入或连接一个或更多文本字符串以产生一串文本。文本运算符 含义(示例)&(和号) 将两个文本值连接或串起来产生一个连续的文本值 (North&wind)引用运算符 使用以下运算符可以将单元格区域合并计算。引用运算符 含义(示例):(冒号) 区域运算符,产生对包括在两个引用之间的所有单元格的引用 (B5:B15),(逗号) 联合运算符,将多个引用合并为一个引用 (SUM(B5:B15,D5:D15)(空格) 交叉运算符产生对两个引用共有的单元格的引用。(B7:D7 C6:C8)公式中的运算次序公式按特定次序计算数值。Excel 中的公式通常以等号 (=) 开始,用于表明之后的字符为公式。紧随等号之后的是需要进行计算的元素(操作数),各操作数之间以运算符分隔。Excel 将根据公式中运算符的特定顺序从左到右计算公式。运算符优先级如果公式中同时用到多个运算符,Excel 将按下表所示的顺序进行运算。如果公式中包含相同优先级的运算符,例如,公式中同时包含乘法和除法运算符,则 Excel 将从左到右进行计算。运算符 说明:(冒号)(单个空格),(逗号)引用运算符 负号(例如 1)% 百分比 乘幂* 和 / 乘和除+ 和 加和减& 连接两个文本字符串(连接)= = 比较运算符使用括号若要更改求值的顺序,请将公式中要先计算的部分用括号括起来。例如,下面公式的结果是 11,因为 Excel 先进行乘法运算后进行加法运算。将 2 与 3 相乘,然后再加上 5,即得到结果。=5+2*3与此相反。如果使用括号改变语法,Excel 先用 5 加上 2,再用结果乘以 3,得到结果 21。=(5+2)*3在下例中,公式第一部分中的括号表明 Excel 应首先计算 B4+25,然后再除以单元格 D5、E5 和 F5 中数值的和。=(B4+25)/SUM(D5:F5)用VBA在工作簿中创建新的工作表 作者:佚名 文章来源:本站原创 点击数: 更新时间:2009-3-22 20:06:00 在VBA中,可以用Sheets.Add 方法在工作簿中新建工作表。其语法是: Sheets.Add(Before, After, Count, Type) 其中参数Before、After指定新建工作表的位置,Coun指定工作表的数量,Type指定新建工作表的类型。如下例: 在工作簿新建一个名称为“工作表1”的工作表: Sub AddWorksheet() On Error Resume Next Worksheets.Add().Name = 工作表1 End Sub 在最后一个工作表的后面新建名称为“工作表2”的工作表: Sub AddWorksheetAfterLast() On Error Resume Next Worksheets.Add(After:=Worksheets(Worksheets.Count).Name = 工作表2 End Sub 在最后一个工作表的前面新建4个工作表: Sub Add4Worksheets() Worksheets.Add Before:=Worksheets(Worksheets.Count), Count:=4 End Sub 运行下面的代码中,首先给出一个提示,要求用户输入新建工作表的名称,然后用该名称新建工作表。如果出现错误,如名称过长或该名称已被使用,将直接新建一个工作表。 Sub AddNameNewSheet() Dim NewName As String NewName = InputBox(请输入新建工作表的名称。) On Error Resume Next Sheets.Add.Name = NewName End Sub过程,就是执行一个或多个给定任务的集合。又分为两种类型:子程序与函数。其两者之间的主要区别在于,函数会返回一个值而子程序不会返回值。1、子程序。子程序是一个程序中可执行的最小部份,其语法为:Private | Public | Friend Static Sub name (arglist)statementsExit SubstatementsEnd SubSub 语句的语法包含下面部分:部分 描述Public 可选的。表示所有模块的所有其它过程都可访问这个 Sub 过程。 如果在包含 Option Private 的模块中使用,则这个过程在该工程外是不可使用的。Private 可选的。表示只有在包含其声明的模块中的其它过程可以访问该 Sub 过程。Friend 可选的。只能在类模块中使用。表示该 Sub 过程在整个工程中都是可见的,但对对象实例的控制者是不可见的。Static 可选的。表示在调用之间保留 Sub 过程的局部变量的值。Static 属性对在 Sub 外声明的变量不会产生影响,即使过程中也使用了这些变量。name 必需的。Sub 的名称;遵循标准的变量命名约定。arglist 可选的。代表在调用时要传递给 Sub 过程的参数的变量列表。多个变量则用逗号隔开。statements 可选的。Sub 过程中所执行的任何语句组。其中的 arglist 参数的语法以及语法各个部分如下:Optional ByVal | ByRef ParamArray varname( ) As type = defaultvalue部分 描述Optional 可选的。表示参数不是必需的关键字。如果使用了该选项,则 arglist 中的后续参数都必须是可选的,而且必须都使用 Optional 关键字声明。如果使用了 ParamArray,则任何参数都不能使用 Optional。ByVal 可选的。表示该参数按值传递。ByRef 可选的。表示该参数按地址传递。ByRef 是 Visual Basic 的缺省选项。 ParamArray 可选的。只用于 arglist 的最后一个参数,指明最后这个参数是一个 Variant 元素的 Optional 数组。使用 ParamArray 关键字可以提供任意数目的参数。ParamArray 关键字不能与 ByVal,ByRef,或 Optional 一起使用。varname 必需的。代表参数的变量的名称;遵循标准的变量命名约定。type 可选的。传递给该过程的参数的数据类型,可以是 Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、 String(只支持变长)、Object 或 Variant。如果没有选择参数 Optional,则可以指定用户定义类型,或对象类型。defaultvalue 可选的。任何常数或常数表达式。只对 Optional 参数合法。如果类型为 Object,则显式的缺省值只能是 Nothing。2、函数:函数与子程序最大的区别就在于其可以返回值,而其它地方与子程序相似,语法如下:Public | Private | Friend Static Function name (arglist) As typestatementsname = expressionExit Functionstatementsname = expressionEnd Function可以看出除了声明的关键词外,其它基本类同,说明与用法也相近,这里就不再重复了。字符串函数Trim(string) 去掉string左右两端空白Ltrim(string) 去掉string左端空白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) 返回 string,其中包含有与指定的字符代码相关的字符数学函数Sin(X)、Cos(X)、Tan(X)、Atan(x) 三角函数,单位为弧度Log(x) 返回x的自然对数Exp(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为随机种子转换函数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(expression) 转换为String型CVar(expression) 转换为Variant型Val(string) 转换为数据型Str(number) 转换为String时间函数Now 返回一个 Variant (Date),根据计算机系统设置的日期和时间来指定日期和时间。Date 返回包含系统日期的 Variant (Date)。Time 返回一个指明当前系统时间的 Variant (Date)。Timer 返回一个 Single,代表从午夜开始到现在经过的秒数。TimeSerial(hour, minute, second) 返回一个 Variant (Date),包含具有具体时、分、秒的时间。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),包含一个整数,代表某个日期是星期几获取文件列表Dir(pathname, attributes) ;pathname 可选参数,用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到 pathname,则会返回零长度字符串 (); attributes 可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配 pathname 但不包含属性的文件。删除文件Kill pathname 从磁盘中删除文件, pathname 参数是用来指定一个文件名RmDir pathname 从磁盘中删除删除目录,pathname 参数是用来指定一个文件夹打开文件Open pathname For mode Access access lock As #filenumber Len=reclength 能够对文件输入/输出 (I/O)。pathname 必要。字符串表达式,指定文件名,该文件名可能还包括目录、文件夹及驱动器。 mode 必要。关键字,指定文件方式,有 Append、Binary、Input、Output、或 Random 方式。如果未指定方式,则以 Random 访问方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论