ExcelVBA常用函数的语法与使用参考VBA函数参考1.日期与时间函数2.字符串函数3.类型转换函数4.数组处理函数5.格式化函数6.数学与三角函数7.文件处理函数8.信息函数9.颜色函数10.财务函数11.判断函数12.目录函数13.其他函数注意:标记有*的函数不可以用于Excel97或更早的版本中。1)赋值运算符=2)数学运算符&、+(字符连接符)、+(加)、-(减)、Mod(取余)、\(整除)、*(乘)、/(除)、-(负号)、^(指数)3)逻辑运算符Not(非)、And(与)、Or(或)、Xor(异或)、Eqv(相等)、Imp(隐含)4)关系运算符=(相同)、5)位运算符Not(逻辑非)、And(逻辑与)、Or(逻辑或)、Xor(逻辑异或)、Eqv(逻辑等)、Imp(隐含)运算符对公式中的元素进行特定类型的运算。MicrosoftExcel包含四种类型的运算符:算术运算符、比较运算符、文本运算符和引用运算符。运算符的类型算术运算符若要完成基本的数学运算,如加法、减法和乘法,连接数字和产生数字结果等,请使用以下算术运算符:算术运算符含义(示例)+(加号)加法运算(3+3)–(减号)减法运算(3–1)负(–1)*(星号)乘法运算(3*3)/(正斜线)除法运算(3/3)%(百分号)百分比(20%)^(插入符号)乘幂运算(3^2)比较运算符可以使用下列运算符比较两个值。当用运算符比较两个值时,结果是一个逻辑值,不是TRUE就是FALSE。比较运算符含义(示例)=(等号)等于(A1=B1)(大于号)大于(A1B1)=(大于等于号)大于或等于(A1=B1)文本连接运算符使用和号(&)加入或连接一个或更多文本字符串以产生一串文本。文本运算符含义(示例)&(和号)将两个文本值连接或串起来产生一个连续的文本值(North&wind)引用运算符使用以下运算符可以将单元格区域合并计算。引用运算符含义(示例):(冒号)区域运算符,产生对包括在两个引用之间的所有单元格的引用(B5:B15),(逗号)联合运算符,将多个引用合并为一个引用(SUM(B5:B15,D5:D15))(空格)交叉运算符产生对两个引用共有的单元格的引用。(B7:D7C6: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在工作簿中创建新的工作表作者:佚名文章来源:本站原创点击数:更新时间:2021-3-2220:06:00在VBA中,可以用Sheets.Add方法在工作簿中新建工作表。其语法是:Sheets.Add(Before,After,Count,Type)其中参数Before、After指定新建工作表的位置,Coun指定工作表的数量,Type指定新建工作表的类型。如下例:在工作簿新建一个名称为“工作表1”的工作表:SubAddWorksheet()OnErrorResumeNextWorksheets.Add().Name=工作表1EndSub在最后一个工作表的后面新建名称为“工作表2”的工作表:SubAddWorksheetAfterLast()OnErrorResumeNextWorksheets.Add(After:=Worksheets(Worksheets.Count)).Name=工作表2EndSub在最后一个工作表的前面新建4个工作表:SubAdd4Worksheets()Worksheets.AddBefore:=Worksheets(Worksheets.Count),Count:=4EndSub运行下面的代码中,首先给出一个提示,要求用户输入新建工作表的名称,然后用该名称新建工作表。如果出现错误,如名称过长或该名称已被使用,将直接新建一个工作表。SubAddNameNewSheet()DimNewNameAsStringNewName=InputBox(请输入新建工作表的名称。)OnErrorResumeNext=NewNameEndSub过程,就是执行一个或多个给定任务的集合。又分为两种类型:子程序与函数。其两者之间的主要区别在于,函数会返回一个值而子程序不会返回值。1、子程序。子程序是一个程序中可执行的最小部份,其语法为:[Private|Public|Friend][Static]Subname[(arglist)][statements][ExitSub][statements]EndSubSub语句的语法包含下面部分:部分描述Public可选的。表示所有模块的所有其它过程都可访问这个Sub过程。如果在包含OptionPrivate的模块中使用,则这个过程在该工程外是不可使用的。Private可选的。表示只有在包含其声明的模块中的其它过程可以访问该Sub过程。Friend可选的。只能在类模块中使用。表示该Sub过程在整个工程中都是可见的,但对对象实例的控制者是不可见的。Static可选的。表示在调用之间保留Sub过程的局部变量的值。Static属性对在Sub外声明的变量不会产生影响,即使过程中也使用了这些变量。name必需的。Sub的名称;遵循标准的变量命名约定。arglist可选的。代表在调用时要传递给Sub过程的参数的变量列表。多个变量则用逗号隔开。statements可选的。Sub过程中所执行的任何语句组。其中的arglist参数的语法以及语法各个部分如下:[Optional][ByVal|ByRef][ParamArray]varname[()][Astype][=defaultvalue]部分描述Optional可选的。表示参数不是必需的关键字。如果使用了该选项,则arglist中的后续参数都必须是可选的,而且必须都使用Optional关键字声明。如果使用了ParamArray,则任何参数都不能使用Optional。ByVal可选的。表示该参数按值传递。ByRef可选的。表示该参数按地址传递。ByRef是VisualBasic的缺省选项。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]Functionname[(arglist)][Astype][statements][name=expression][ExitFunction][statements][name=expression]EndFunction可以看出除了声明的关键词外,其它基本类同,说明与用法也相近,这里就不再重复了。字符串函数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之间的整