常用VBA函数精选.doc_第1页
常用VBA函数精选.doc_第2页
常用VBA函数精选.doc_第3页
常用VBA函数精选.doc_第4页
常用VBA函数精选.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

常用VBA函数精选 前言我们平时在工作表单元格的公式中常常使用函数,Excel自带的常用的函数多达300多个,功能强大,丰富多彩,但是在VBA中不能直接应用,必须在函数名前面加上对象,比如:Application.WorksheetFunction.Sum(arg1,arg2,arg3)。而能在VBA中直接应用的函数也有几十个,下面将逐一详细介绍常用的40个VBA函数,以供大家学习参考。 第1.1例 ASC函数一、题目:要求编写一段代码,运行后得到字符串Excel的首字母和e的ASCII值。二、代码:Sub 示例_1_01() Dim myNum1%, myNum2% myNum1 = Asc(Excel) 返回69 myNum2 = Asc(e) 返回101 a1 = myNum1= : b1 = myNum1 a2 = myNum2= : b2 = myNum2 End Sub 三、代码详解 1、Sub 示例_1_01():宏程序的开始语句。 2、Dim myNum1%, myNum2%:变量myNum1和myNum2声明为整型变量。 也可以写为 Dim myNum1 As Integer 。Integer 变量存储为 16位(2 个字节)的数值形式,其范围为 -32,768 到 32,767 之间。Integer 的类型声明字符是百分比符号 (%)。 3、myNum1 = Asc(Excel):把Asc函数的值赋给变量myNum1。 Asc函数返回一个 Integer,代表字符串中首字母的字符的ASCII代码。 语法 Asc(string) 必要的 string(字符串) 参数可以是任何有效的字符串表达式。如果 string 中没有包含任何字符,则会产生运行时错误。 4、myNum2 = Asc(e):把Asc函数的值赋给变量myNum2。这里返回小写字母e的ASCII代码101。 5、a1 = myNum1= : b1 = myNum1:把字符串myNum1= 赋给A1单元格,把变量myNum1的值赋给B1单元格。 6、a2 = myNum2= : b2 = myNum2:把字符串myNum2= 赋给A2单元格,把变量myNum2的值赋给B2单元格。 7、End Sub:程序的结束语句,和Sub示例_1_01()相对应。 第1.2例 Chr函数一、题目:要求编写一段代码,运用Chr函数将ASCII值转换为对应的字符。二、代码:Sub 示例_1_02()Dim myChar1$, myChar2$myChar1 = Chr(69) 返回 E。myChar2 = Chr(101) 返回 e。a1 = myChar1= : b1 = myChar1a2 = myChar2= : b2 = myChar2 End Sub三、代码详解 1、Sub 示例_1_02():宏程序的开始语句。 2、Dim myChar1$, myChar2$:变量myChar1和myChar2声明为字符串变量。 也可以写为 Dim myChar1 As String 。String 之字符码的范围是 0 到 255。字符集的前 128 个字符(0 到 127)对应于标准的 U.S. 键盘上的字符与符号。这前 128 个字符与 ASCII 字符集中所定义的相同。后 128 个字符(128 到 255)则代表特殊字符,例如国际字符,重音符号,货币符号及分数。String 的类型声明字符为美元号 ($)。 3、myChar1 = Chr(69):把Chr(69)的值赋给变量myChar1。这里返回大写字母E。 Chr函数根据字符代码返回一个字符。 语法 Chr(charcode) 必要的 charcode(字符代码) 参数是用来识别某字符的。 4、myChar2 = Chr(101):把Chr 函数的值赋给变量myChar2。这里返回小写字母e。 5、a1 = myChar1= : b1 = myChar1:把字符串myChar1= 赋给A1单元格,把变量myChar1的值赋给B1单元格。 6、a2 = myChar2= : b2 = myChar2:把字符串myChar2= 赋给A2单元格,把变量myChar2的值赋给B2单元格。 7、End Sub:程序的结束语句,和Sub示例_1_02()相对应。 第1.3例 Choose函数一、题目:要求编写一段代码,运用Choose函数根据指定数字选择对应的字符串。二、代码:Sub 示例_1_03() Dim Num% Num=2 MsgBox Choose(Num, 一月, 二月, 三月)End Sub三、代码详解 1、Sub 示例_1_03():宏程序的开始语句。宏名为示例_1_03。 2、Dim Num% :变量Num声明为整型变量。 3、Num=2 :把2赋给变量Num。 4、MsgBox Choose(Num, 一月, 二月, 三月) : Choose函数从参数列表中选择并返回一个值。 语法 Choose(index, choice-1, choice-2, . , choice-n) Choose 会根据 index 的值来返回选择项列表中的某个值。如果 index 是 1,则 Choose 会返回列表中的第 1 个选择项。如果 index 是 2,则会返回列表中的第 2 个选择项,以此类推。 Index是必要参数,数值表达式或字段,它的运算结果是一个数值,且界于 1 和可选择的项目数之间。当 index小于 1 或大于列出的选择项数目时,Choose 函数返回 Null。如果 index 不是整数,则会先四舍五入为与其最接近的整数。 第1.4例 Cos函数一、题目:要求编写一段代码,运用Cos函数根据指定角度的余弦计算其正割的值。二、代码:Sub 示例_1_04() Dim jiaodu, zenge jiaodu = 1.3 zenge = 1 / Cos(jiaodu) MsgBox 角度为 & jiaodu & 的正割的值 & zengeEnd Sub三、代码详解 1、Sub 示例_1_04():宏程序的开始语句。宏名为示例_1_04。 2、Dim jiaodu, zenge :两个变量都被指定为可变型数据类型。当声明常数、变量或参数时,若无指定数据类型则会自动的指定成 Variant(可变型) 数据类型。声明成 Variant 数据类型的变量可以为字符串、日期、时间、Boolean或数值。 3、jiaodu = 1.3 :把以弧度为单位的角度1.3赋给变量jiaodu。 4、zenge = 1 / Cos(jiaodu) :利用1/余弦算得正割(sec())的值,赋给变量zenge。 Cos函数返回一个角的余弦值。其参数是表示一个以弧度为单位的角。 5、MsgBox 角度为 & jiaodu & 的正割的值 & zenge :利用MsgBox函数显示算得的正割(sec())的值。 第1.5例 Date函数一、题目:要求编写一段代码,运用Date函数显示系统日期的值。二、代码:Sub 示例_1_05() Dim myDate myDate = DateMsgBox 系统日期为 & myDateEnd Sub 三、代码详解 1、Sub 示例_1_05():宏程序的开始语句。宏名为示例_1_05。 2、Dim myDate :变量myDate被指定为可变型数据类型。 3、myDate = Date :把系统日期的值赋给变量myDate。 Date函数返回系统当前的日期。 4、MsgBox 系统日期为 & myDate :利用MsgBox函数显示系统日期的值。 第1.6例 DateAdd函数一、题目:要求编写一段代码,运用DateAdd函数显示返回一定间隔后的日期。二、代码:Sub 示例_1_06() Dim dyrq As Date Dim jglx As String Dim n As Integer Dim Msg jglx = m dyrq = InputBox(请输入一个日期) n = InputBox(输入增加月的数目:) Msg = 新日期: & DateAdd(jglx, n, dyrq) MsgBox MsgEnd Sub三、代码详解 1、Sub 示例_1_06():宏程序的开始语句。宏名为示例_1_06。 2、Dim dyrq As Date :变量dyrq声明为日期对象型数据类型。其余几个变量分别是字符串型、整型和可变型变量。 3、jglx = m :用字符m来指定以月份作为间隔。 4、dyrq = InputBox(请输入一个日期) :用InputBox函数来让用户输入一个日期,并把用户输入的日期赋给变量dyrq。 5、n = InputBox(输入增加月的数目:) :用InputBox函数来让用户输入间隔月的数目,并把用户输入的值赋给变量n。 6、Msg = 新日期: & DateAdd(jglx, n, dyrq) :用DateAdd函数计算得到的新的日期和字符串新日期: 连接起来赋给变量Msg。 DateAdd函数返回一个日期,这一日期加上了一个时间间隔。 语法 DateAdd(interval, number, date) DateAdd 函数语法中有下列命名参数: interval 必要。字符串表达式,是所要加上去的时间间隔。它具有好多设定值,比如m为月;d为日;yyyy为年等等。 number 必要。数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。date 必要。表示日期的文字。 7、MsgBox Msg :利用MsgBox函数显示Msg的值。 第1.7例 DateDiff函数一、题目:要求编写一段代码,运用DateDiff函数返回某个指定日期距离今天的天数。二、代码:Sub 示例_1_07() Dim zdrq As Date Dim Msg zdrq = InputBox(请输入一个日期:) Msg = 离开今天的天数: & DateDiff(d, Now, zdrq) MsgBox MsgEnd Sub三、代码详解 1、Sub 示例_1_07():宏程序的开始语句。宏名为示例_1_07。 2、Dim zdrq As Date :变量zdrq声明为日期对象型数据类型。 3、zdrq = InputBox(请输入一个日期) :用InputBox函数来让用户输入一个日期,并把用户输入的日期赋给变量zdrq。 4、Msg = 离开今天的天数: & DateDiff(d, Now, zdrq) :用DateDiff函数计算得到的结果和字符串离开今天的天数: 连接起来赋给变量Msg。 5、MsgBox Msg :利用MsgBox函数显示Msg的值。 DateDiff 函数可用来决定两个日期之间所指定的时间间隔数目。例如,可以使用 DateDiff 来计算两个日期之间相隔几日,或计算从今天起到年底还有多少个星期。DateDiff(interval, date1, date2, firstdayofweek, firstweekofyear) DateDiff 函数语法中有下列命名参数: interval 必要。字符串表达式,是所要加上去的时间间隔。它具有好多设定值,与DateAdd函数相同;此例中的d,表示天数; Date1,date2 必要;计算中要用到的两个日期。 Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。 firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。 第1.8例 DatePart函数一、题目:要求编写一段代码,运用DatePart函数返回某个指定日期是在一年的哪一个季度。二、代码:Sub 示例_1_08() Dim zdrq As Date Dim Msg zdrq = InputBox(请输入一个日期:) Msg = 季度: & DatePart(q, zdrq) MsgBox MsgEnd Sub三、代码详解 1、Sub 示例_1_08():宏程序的开始语句。宏名为示例_1_08。 2、Dim zdrq As Date :变量zdrq声明为日期对象型数据类型。 3、zdrq = InputBox(请输入一个日期) :用InputBox函数来让用户输入一个日期,并把用户输入的日期赋给变量zdrq。 4、Msg = 季度: & DatePart(q, zdrq) :用DatePart函数计算得到的结果和字符串季度: 连接起来赋给变量Msg。5、MsgBox Msg :利用MsgBox函数显示Msg的值。 DatePart 函数 DatePart(interval, date, , firstdayofweek, firstweekofyear) 语法中有下列命名参数: interval 必要。字符串表达式,是所要加上去的时间间隔。它具有好多设定值,与DateAdd函数相同;此例中的q,表示季度; Date, 必要;计算中要用到的两个日期。 Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。 firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。 第1.9例 DateSerial函数一、题目:要求编写一段代码,运用DateSerial函数返回指定日期的Date类型。二、代码:Sub 示例_1_09() Dim zdrq zdrq = DateSerial(2008, 8, 8) MsgBox zdrqEnd Sub三、代码详解 1、Sub 示例_1_09():宏程序的开始语句。宏名为示例_1_09。 2、Dim zdrq :变量zdrq声明为可变型数据类型。 3、zdrq = DateSerial(2008, 8, 8) :DateSerial函数转换所得的结果赋给变量zdrq。 DateSerial函数返回指定日期年月日的日期格式。 语法 DateSerial(year, month, day) DateSerial 函数语法有下列的命名参数: year 必要;整型。从 100 到 9999 间的整数,或一数值表达式。 month 必要;整型。任何数值表达式。 day 必要;整型。任何数值表

温馨提示

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

评论

0/150

提交评论