电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

玩转VBA笔记整理-1017

30页
  • 卖家[上传人]:小****
  • 文档编号:134336415
  • 上传时间:2020-06-04
  • 文档格式:DOCX
  • 文档大小:744.35KB
  • / 30 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第一节:认识VBE界面默认的VBE界面包含了:菜单栏、工具栏、工程管理器、代码窗口,如下图:其实VBE界面中还包含了模块、类模块、窗体、工作表、工作簿,如下图所示1、工作表对象:每个EXCEL文件的每个sheet对应一个工作表对象。如果将sheet1对象中的代码移到sheet2对象中,将不再对sheet1起作用,因此,工作表事件代码窗口用于保存与工作表相关的事件代码2、工作簿对象:每个EXCEL文件有且仅有一个工作簿对象。一切与工作簿事件有关的代码,都必须录入在工作簿对象事件代码中。3、用户自定义窗体:用于设计对话框、制作程序界面,而且适当的通过窗体来录入或修改数据,可以有效避免数据录入的错误率及重复数据的多次录入等情况,提高效率4、标准模块:用于存放子过程(SUB)或自定义函数(FUNCTION)以及通过录制宏产生的代码。(非事件代码均建议写在标准模块中)5、类模块:详见13章笔记6、属性窗口(F4):用于查看或修改各对象的属性7、代码录入区:有多少个对象就有多少个代码窗口,此窗口默认是重叠的,只显示最上面的一个,可通过双击对象切换到相对应的代码窗口;8、对象列表(shift+F7)

      2、:9、过程列表第二节:录入代码代码的存放位置:所有工作表事件的代码必须存放在对应的工作表的事件代码窗口中,放在其他地方,代码不会被执行;工作簿事件的代码必须放在ThisWorkbook代码窗口中,类模块相关的代码必须放在类模块中;除此以外的其他代码均放在标准模块中。(即:除事件代码以外,均适宜放在标准模块中)写入代码的方法:如果是通过网络获取的或通过别人帮忙编写的代码,可以直接复制到相应的窗口最简单的方法:录制宏事件代码的录入:通过对象下拉列表框和过程下拉列表框来录入代码。事件以外的代码录入:单击菜单“插入 ”“过程 ”录入过程名称,并根据需要选择类型和范围,单击“确定”按钮,即可生成程序外壳。熟练以后,可以直接手动写代码,不再需要通过此方法。提升代码的可读性:为了更容易的读懂代码且给后续的代码维护工作提供便利,在写代码时尽可能的做到以下五点:一、代码的对齐与缩进:VBA代码是有层级关系的,同级代码应采用相同的左边距(缩进代码与凸出请不要使用空格键,请使用TAB键,也可直接点击工具栏上的代码缩进与凸出按钮)二、长代码换行:当一段代码有一行或多行代码时,为了便于阅读和理解代码的含义。VB

      3、A提供了换行的方式:在代码需要换行的地方插入“ _”,然后将后面的代码放在下一行即可,从而可以使一行代码在两行或多行显示。(“ _”包含两个字符,第一个是空格不能少,第二个是下划线)。换行时不能从单词中间截断,否则代码无效。三:有意义的名称:程序过程命名方式一:在命名时完整的说明程序的功能;方式二:简化命名+详细注释。变量或常量的命名:用英文命名如FileName或用汉字词语命名四:代码注释:为了方便随时都能迅速的读懂代码,要养成注释代码的习惯,方式有两种:整段代码的注释写在代码段的上方;单句代码的注释写在代码的右侧。添加注释的方法:半角的撇号“”后跟注释的内容。VBA对很多对象都提供了快速信息,包括对象、属性、方法、函数和参数。其中绿色图标表示方法,黑色带有手形的图标代表属性。若无把握写正确这些方法或属性时,可以直接从列表中选择,从而提高录入的准确性。第三节:代码的执行方式方式一:快捷键调用:ALT+F8打开宏对话框,点击选项按钮:跳出宏选项对话框:这里即可指定当前选择的SUB过程对应的快捷键。也可以通过代码Application.OnKey方法来指定快捷键只需在需要指定快捷键的su

      4、b中加上一句:Application.OnKey 指定的快捷键”,“对应的过程名”(小写字母对应CTRL+此字母,大写字母对应CTRL+SHIFT+该字母)方式二:单击按钮执行:插入表单控件按钮,拖动鼠标使按钮大小调整到适当大小跳出指定宏对话框,选择宏名列表中相应的宏,单击确定:特别说明:以上两种方法仅对无参数且未隐藏的SUB过程有效,对自定义函数无效,对有参数的SUB过程及私有过程均无效。方式三:自动执行VBA中有一种通过快捷键或按钮均无法调用执行的代码,即事件过程代码,只有当满足事件所指定的条件时,才会自动执行此类代码。方式四:在公式中调用即FUNCTION过程(自定义函数),此过程可以嵌套到SUB过程中,即通过SUB过程来调用FUNCTION过程。但更多的应用是在单元格中当公式来使用。第四节 保存代码文件保存格式对VBA代码的影响2003版本OFFICE的文件格式xls可以保存代码,2007及以上版本需要保存为xlsm格式才可保留代码,这是为了区分有代码的文件还是无代码的文件。2007及以上版本中,如果将含有代码的文件保存为XLSX格式时,会跳出如下对话框,表示XLSX格式无法保

      5、存代码。此时,仅需点击否,重新选择保存类型为XLSM格式即可。单独保存代码模块 代码除了保存在工作簿中,也可单独将代码保存为文件,从而可以备份代码,供在多个程序中调用,避免多次重复录入相同功能的代码。 保存模块代码的方法:在相应的标准模块上点击鼠标右键,选择“导出文件”,然后选择保存路径并确认文件名即可。第五节 让代码畅通无阻方法一:调整宏的安全等级:默认设置为不运行宏文件并弹出安全警告。如果需要运行宏,仅需点击安全提示旁的“启用”即可。(此为建议采用的方式1)方法二:添加受信任位置:单击功能区中的“开发工具”“宏安全性”,单击对话框中的“受信任位置”,点击右侧的“添加新位置”,将需要受信任的文件夹添加到对话框中,同时对“同时信任此位置的子文件夹”打勾即可。(建议采用的方式之2)步骤一步骤二步骤三步骤四方法三:将代码封闭成加载项:因为宏安全性设置仅对工作簿中的VBA代码有效,对DLL格式的加载项无效,因此可以采用此方法让宏自动运行不受设置影响。(建议采用的方式之3 )方法四:将宏设置设置为第四项启用所有宏(强烈不建议采用此方法)第六节 调用代码的帮助系统EXCEL和VBA拥有各自的帮助

      6、系统(初学者建议用2010版本来学习VBA,因为这个版本的帮助文档最完善),他们的内容不一致,调用方法也不一致。EXCEL帮助内容包含了除VBA以外的所有EXCEL相关帮助信息,而EXCEL VBA的帮助,需要在VBE(ALT+F11)的界面下按下F1键来打开帮助系统。注意:查询对象或属性、方法时,尽可能将它的前置对象也一同录入,这样查询速度更快,结果更精确。比如:查询SELECT方法时,放在不同的对象后面有不同的语法:因此查询帮助系统时,尽量采用类似以下关键词RANGE.SELECT、WORKSHEET.SELECT,而不是仅仅录入一个SELECT第一章补充 MSGBOXMSGBOX语法:MSGBOX(显示在对话框中的内容,显示的按钮集,在对话框标题栏中显示的内容,识别向对话框提供上下文相关帮助的帮助文件,适当帮助主题的上下文编号)说明:1、第二个参数即可使用常数也可使用值,功能是一样的:例如:msgbox你好啊!,1+64和msgbox你好啊!,vbOkCancel+VbInformation,两者效果是一样的。2、上表中的最后三个值,并不会产生新的图标,而仅是指定默认按钮是第几个

      7、。3、由于msgbox有返回值以表示用户点击的是哪个按钮,因此可以通过代码实现,点击不同的按钮产生不同的效果。第二章 从概念认识VBA第一节 认识过程过程的分类:子过程、函数过程和属性过程子过程的标志是以SUB开头,所有录制宏产生的过程都是子过程。子过程的语法:Public/Private/Friend Static Sub 过程名 (参数列表)特别说明:语法中用括起来的部分表示此部分是可选部分,即可以省略的部分,具体什么情况下可以省略需要视不同需求而定(下同)任意代码段EXIT SUB(终止过程)任意代码段End Sub说明:1、Public/Private/Friend是可选的,用于指定过程的作用域(公用/私有)Friend仅可在类模块中使用,默认值是Public。2、Static:用于指定过程是静态还是动态,加上Static则是静态的,省略则为动态的。3、参数列表是可以省略的,所有带参数的过程都不能通过ALT+F8调用,而是作为另一个过程的子过程使用。通常,需要反复执行多次的操作,或多个过程中需要执行某个相同的操作时,就需要创建一个带参数的过程。4、EXIT SUB表示终止过程,

      8、可以放在程序中的任意位置,表示符合条件时终止过程过程的命名要求:首字符不能是数字;不能包含标点及空格;不能使用系统保留字;同一模块中不能出现同名过程;长度不能超过255一个过程可以被另一个过程调用,即过程A可以被过程B调用,过程A就是过程B的子过程。需要注意的是:如果声明的过程是私有的(即Private Sub),则该过程只能被当前模块中的其他过程调用。如果定义为Public SUB或直接省略Public,则不受此限制。当调用私有过程时,会报下图所示的错误过程的执行顺序:一个过程中有多句代码时,通常执行顺序是从上到下依次逐句执行。VBA允许将多句代码写在同一行中,中间用冒号分隔即可,此时程序则按从左往右的顺序依次执行。如:sub test()msgboxhello!: msgboxHow are you?end sub也可通过以下几种方法改变代码的执行顺序:方法1:EXIT Sub:用于终止程序,从而使其后面的代码不再执行。例如下面的代码,msgbohow are you不会再执行,即只会跳出提示hellosub test()msgboxhello!exit submsgboxHow

      9、are you”end sub方法2:如果中途调用了另一个过程,那么执行完该过程中的所有代码再执行CALL语句后面的代码。方法3、使用GOTO语句改变执行代码的顺序,如下代码,如果当前时间大于10点,提示how are you,否则提示hello:sub test()if hour(now)10 then goto aa msgboxhelloaa:msgboxhow are youend sub方法4、Resume语句也可改变代码的执行顺序,需结合防出错语句 on error goto一起使用,表示返回原来的行格式:sub test()on error goto aa 代码段1exit subaa: 代码段2 resumeend sub说明 :以上程序当代码段1执行出错时跳转到aa标签处往下执行代码段2,执行完代码段2后遇到resume则回到代码段1中出错的那一句继续执行第二节 关于参数参数存在的价值:参数分为两类:过程中的参数:过程中的参数写在过程名后的括号中,它相当于软件的一个自定义选项,如果对过程使用了参数,那么工作表名称和区域地址就可以通过参数从主过程传递到子过程,从而使操作对象不再固定,使 程序更灵活。通常用于传递常量或变量,强化过程的功能。示例代码:Sub Hello(M

      《玩转VBA笔记整理-1017》由会员小****分享,可在线阅读,更多相关《玩转VBA笔记整理-1017》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.