欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    ExcelVBA编程教程.doc

    • 资源ID:1217396       资源大小:1.16MB        全文页数:364页
    • 资源格式: DOC        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    ExcelVBA编程教程.doc

    1、Excel-VBA-编程教程-2015-完整版VBA语言基础一、VBA语言基础第一节标识符一定义标识符是一种标识变量、常量、过程、函数、类等语言构成单位的符号,利用它可以完成对变量、常量、过程、函数、类等的引用。二命名规则1)字母打头,由字母、数字和下划线组成,如A987b_23Abc2)字符长度小于40,(Excel2002以上中文版等,可以用汉字且长度可达254个字符)3)不能与VB保留字重名,如public,private,dim,goto,next,with,integer,single等第二节运算符定义:运算符是代表VB某种运算功能的符号。1)赋值运算符2)数学运算符&、+(字符连接

    2、符)、+(加)、-(减)、Mod(取余)、(整除)、*(乘)、/(除)、-(负号)、(指数)3)逻辑运算符Not(非)、And(与)、Or(或)、Xor(异或)、Eqv(相等)、Imp(隐含)4)关系运算符=(相同)、(不等)、(大于)、=(不小于)、BAndC250Thenx=x-100或者,可以使用块形式的语法:IfconditionThenstatementsElseIfcondition-nThenelseifstatements.ElseelsestatementsEndIf如1:IfNumber10ThenDigits=1ElseIfNumber0thenGosubRoutine1

    3、:Debug.printnum:ExitsubRoutine1:Num=num/5ReturnEndsub4)whilewend语句,只要条件为TRUE,循环就执行,这是以前VB老语法保留下来的,如下例:whileconditionwhileI50statementsI=I+1wendWend二错误语句处理执行阶段有时会有错误的情况发生,利用OnError语句来处理错误,启动一个错误的处理程序。语法如下:OnErrorGotoLine当错误发生时,会立刻转移到line行去OnErrorResumeNext当错误发生时,会立刻转移到发生错误的下一行去OnErroGoto0当错误发生时,会立刻停止

    4、过程中任何错误处理过程第十一节过程和函数过程是构成程序的一个模块,往往用来完成一个相对独立的功能。过程可以使程序更清晰、更具结构性。VBA具有四种过程:Sub过程、Function函数、Property属性过程和Event事件过程。一Sub过程Sub过程的参数有两种传递方式:按值传递(ByVal)和按地址传递(ByRef)。如下例:Subpassword(ByValxasinteger,ByRefyasinteger)Ify=100theny=x+yelsey=x-yx=x+100EndsubSubcall_password()Dimx1asintegerDimy1asintegerx1=12

    5、y1=100Callpassword(x1,y1)调用过程方式:1.Call过程名(参数1,参数2);2.过程名参数1,参数24-页面14-VBA语言基础 debug.printx1,y1结果是12、112,y1按地址传递改变了值,而x1按值传递,未改变原值Endsub二Function函数函数实际是实现一种映射,它通过一定的映射规则,完成运算并返回结果。参数传递也两种:按值传递(ByVal)和按地址传递(ByRef)。如下例:Functionpassword(ByValxasinteger,byrefyasinteger)asbooleanIfy=100theny=x+yelsey=x-yx

    6、=x+100ify=150thenpassword=trueelsepassword=falseEndFunctionSubcall_password()Dimx1asintegerDimy1asintegerx1=12y1=100ifpasswordthen调用函数:1.作为一个表达式放在=右端;2.作为参数使用debug.printx1endifEndsub三Property属性过程和Event事件过程这是VB在对象功能上添加的两个过程,与对象特征密切相关,也是VBA比较重要组成,技术比较复杂,可以参考相关书籍。第十二节内部函数在VBA程序语言中有许多内置函数,可以帮助程序代码设计和减少代

    7、码的编写工作。一测试函数IsNumeric(x)是否为数字,返回Boolean结果,TrueorFalseIsDate(x)是否是日期,返回Boolean结果,TrueorFalseIsEmpty(x)是否为Empty,返回Boolean结果,TrueorFalseIsArray(x)指出变量是否为一个数组。IsError(expression)指出表达式是否为一个错误值IsNull(expression)指出表达式是否不包含任何有效数据(Null)。IsObject(identifier)指出标识符是否表示对象变量二数学函数Sin(X)、Cos(X)、Tan(X)、Atan(x)三角函数,单

    8、位为弧度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为随机种子三字符串函数Trim(string)去掉string左右两端空白Ltrim(string)去掉string左端空白Rtrim(s

    9、tring)去掉string右端空白Len(string)计算string长度Left(string,x)取string左段x个字符组成的字符串Right(string,x)取string右段x个字符组成的字符串Mid(string,start,x)取string从start位开始的x个字符组成的字符串Ucase(string)转换为大写5-页面15-VBA语言基础 Lcase(string)转换为小写Space(x)返回x个空白的字符串Asc(string)返回一个integer,代表字符串中首字母的字符代码Chr(charcode)返回string,其中包含有与指定的字符代码相关的字符四转

    10、换函数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(stri

    11、ng)转换为数据型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)返回Varia

    12、nt(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之间的整数,表示一年中的某

    13、月Year(date)返回Variant(Integer),包含表示年份的整数。Weekday(date,firstdayofweek)返回一个Variant(Integer),包含一个整数,代表某个日期是星期几第十三节文件操作文件Dir(pathname,attributes);pathname可选参数,用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到pathname,则会返回零长度字符串();attributes可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配pathname但不包含属性的文件。删除Killpathname从磁盘中删除文

    14、件,pathname参数是用来指定一个文件名RmDirpathname从磁盘中删除目录,pathname参数是用来指定一个文件夹打开OpenpathnameFormodeAccessaccesslockAs#filenumberLen=reclength能够对文件输入/输出(I/O)。pathname必要。字符串表达式,指定文件名,该文件名可能还包括目录、文件夹及驱动器。6-页面16-VBA语言基础 mode必要。关键字,指定文件方式,有Append、Binary、Input、Output、或Random方式。如果未指定方式,则以Random访问方式打开文件。access可选。关键字,说明打开

    15、的文件可以进行的操作,有Read、Write、或ReadWrite操作。lock可选。关键字,说明限定于其它进程打开的文件的操作,有Shared、LockRead、LockWrite、和LockReadWrite操作。filenumber必要。一个有效的文件号,范围在1到511之间。使用FreeFile函数可得到下一个可用的文件号。reclength可选。小于或等于32,767(字节)的一个数。对于用随机访问方式打开的文件,该值就是记录长度。对于顺序文件,该值就是缓冲字符数。说明对文件做任何I/O操作之前都必须先打开文件。Open语句分配一个缓冲区供文件进行I/O之用,并决定缓冲区所使用的访问

    16、方式。如果pathname指定的文件不存在,那么,在用Append、Binary、Output、或Random方式打开文件时,可以建立这一文件。如果文件已由其它进程打开,而且不允许指定的访问类型,则Open操作失败,而且会有错误发生。如果mode是Binary方式,则Len子句会被忽略掉。重要在Binary、Input和Random方式下可以用不同的文件号打开同一文件,而不必先将该文件关闭。在Append和Output方式下,如果要用不同的文件号打开同一文件,则必须在打开文件之前先关闭该文件。读入Input#filenumber,varlist从已打开的顺序文件中读出数据并将数据指定给变量Ge

    17、t#filenumber,recnumber,varname将一个已打开的磁盘文件读入一个变量之中。写入Write#filenumber,outputlist将数据写入顺序文件Print#filenumber,outputlist将格式化显示的数据写入顺序文件中Put#filenumber,recnumber,varname将一个变量的数据写入磁盘文件中。关闭Closefilenumberlist关闭Open语句所打开的输入/输出(I/O)文件注意如果今后想用Input#语句读出文件的数据,就要用Write#语句而不用Print#语句将数据写入文件。因为在使用Write#时,将数据域分界就可确

    18、保每个数据域的完整性,因此可用Input#再将数据读出来。使用Write#还能确保任何地区的数据都被正确读出。Write与Print#语句不同,当要将数据写入文件时,Write#语句会在项目和用来标记字符串的引号之间插入逗号。Write#语句在将outputlist中的最后一个字符写入文件后会插入一个新行字符,即回车换行符,(Chr(13)+Chr(10)。其他文件函数LOF(filenumber)返回一个Long,表示用Open语句打开的文件的大小,该大小以字节为单位。EOF(filenumber)返回一个Integer,它包含Boolean值True,表明已经到达为Random或顺序Input打开的文件的结尾。Loc(filenumber)返回一个Long,在已打开的文件中指定当前读/写位置Seek(filenumber)返回一个Long,在Open语句打开的文件中指定当前的读/写位7-页面17-VisualBASIC程序设计网络教学橄榄树整理二、VisualBASIC程序设计网络教学第一课VBA是什么1.1VBA是什么直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORDBASIC使WORD自动化,等等.微软决定让它开发出来的


    注意事项

    本文(ExcelVBA编程教程.doc)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开