第1课:学习VBA的条件与方法 [2].docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学习VBA的条件与方法 切入正题前先谈谈VBA的概念! 正确认识VBA VBA是VB的一个分支,不过VB已经淘汰多年,不再升级,而VBA却一再地升级。 鉴于VBA的强大和易学性,VBA已集成在很多应用程序中,包括CAD、CoreDraw、WPS(免费中不提供)、PowerPoint、FrontPage、Word、OutLook、Excel等等软件之中。不过只有Excel VBA才被大家发扬光大,这一方面是基于Excel的用户群体大,工厂对表格设计的需求大,另一完方面也是Excel VBA的完善性所致。 同样版本VBA在不同软件中的表现是不同的,例如WORD 2010中的VBA就比Excel 2010中的VBA差。对于WORD VBA,我的了解并不多,只做过一次菜单. 大概两个月前,ET论坛有一个人找我帮他有偿设计一个多菜菜单模板,当时只说了价格,没有说明是WORD还是Excel,我用就Excel VBA做了下面的这个模板给他,让他自己按实际需求修改一下名字就完成了。 对方当时就说是这个效果,不过要用WORD做。我想同样版本的VBA在菜单不可能有什么差异,就马上改用WORD帮他设计。经过几多周折才做到,不过WORD中有很多属性都不支持,明明帮助中说有这个属性,但复制帮助中的代码就不能实现同等效果。 这其实也从侧面反应了WORD VBA用户太少,那么BUG反馈就少,修正错误的机会也少了,从而使WORD的VBA一直不好用。这就是恶性循环。 Excel的用户多,很多问题都得到了及时的纠正,所以Excel的VBA也最完善。 VB停留在6.0版后就永远地停止开发了,不再更新,而Excel 2003的VBA版本是6.05,Excel 2007和Excel 2010的VBA版本是7.0,Excel 2013的VBA版本是7.01。说明微软一直在重视VBA应用。 要获得您所用Excel VBA的版本请先按下图设置,将“信任对VBA工程对象模型的访问”打勾。操作方法是使用“Alt+T+O”组合键打开Excel选项,然后找到“信任对VBA工程对象模型的访问”复选框,将它打勾。 关闭对话框回到工作表界面,再按“Alt+F11”组合键打开VBE窗口(即VBA代码编辑界面),单击“插入”→“模块”,然后代码窗口中录入以下代码: Sub 测试VBA版本() MsgBox Application.VBE.Version End Sub 录入完代码后,光标定位于代码中任意位置,按“F5”键执行代码,也可以按工具栏中的执“运行”按钮()执行代码。代码执行的结果就是当前VBA的开发版本号。 以上仅是说明了VBA一直在进步、在发展,那么Excel VBA应该如何理认识、理解它呢?可以这样看:Excel VBA就是Excel的功能之一,它们是从属关系,和条件格式、透视表、图表一样附属在Excel中,用于实现某个方面的功能。所以Excel VBA不能看做一个软件,它只是Excel软件的附属功能之一。只不过由于VBA实在过于强大,大家通常不会将它与条件格式、图表等功能平等对待。 对于Excel而言,Excel VBA可以实现VBA以外的所有功能的集合。例如条件格式、图表、排序、筛选、透视表、样式、自定义单元格格式、函数与公式、合并计算、分类汇总、数据有效性、规划求解等等一切功能。 当然,尽管VBA能做任何事,但是实际工作中我们仅用VBA来做三类事:一是非VBA无法完成的事,例如对选区进行背景着色,单击任意单元格,该单元格所在行、列自动着色,效果请参考动画:/GIF/anniu/Beijing.gif 二是虽然Excel自带的多个功能组合可以完成,或者可以手工实现,但是利用VBA可可以百倍、千倍提升效率的事。例如B2:Z10000区域中是成绩表,要求选中其中所在小于60分的成绩,Excel没有任何工具可以实现这个功能(筛选只能单列有效,查找只支持“等于60”这种条件,不支持“小于60”这种条件……),所以这类事需要交给VBA来实现,1秒钟就完成。例如Excel百宝箱中的“高级定位”就支持这个功能,可以采用大于、等于、小于、不等于等运算符,而且支持双条件定位。 具体请看动画:/GIF/anniu/DanDW.gif 再如A列中有1000个产品的名称,要求将这1000个产品对应的图片导入到单元格的批注中鼠标指向产品名称时就显示该图片……如果手工完成此项工作,至少需要2小时,而采用VBA则能在两三秒钟内完成。效果如下: Excel百宝箱中有这个功能,参看动画:/GIF/Pic/PIZHU.gif 在本人《Excel VBA程序开发自学宝典(第2版)有这个工具(包括前面的高级定位工具)的源代码,和设计思路分析。 三是Excel的某些功能做得不如人意,无法满足工作

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档