VBA是什么
ExcelVBA是依附在Excel中的二次开发语言,全称为“VisualBasicForApplication”。VBA已有20年历史,目前最新版本是7.0,其开发环境和语法已趋于完善。
VBA不仅是Excel的二次开发平台,同时还大量应用在其他软件中,包括机械设计软件AutoCAD、平面设计与排版软件CorelDraw、办公排版软件Word、网页设计软件FrontPage、项目管理软件Project、国产OfficeWPS等,VBA的应用前景相当广阔。
学VBA有用吗
这是很多网友问过的问题,其实答案只有一个——任何软件都有用,只看您学到什么程度。任何软件学好后都可以提升工作效率,以及带来经济效益,但前提是学得足够好,以及用得恰到好处。
当然,也可以换一种回答:别问有没有用,您有几分耕耘?
学习VBA的必要性
VBA能做什么?是否有必要学习?VBA有很多事都不能做,例如,不能开发独立的应用程序、不能开发ERP系统、不能实现网页设计、病毒清理等,但是在它的专业领域可以实现诸多令人惊奇的功能,常常让人眼前一亮,咦,制表原来可以这么快!
工作中是否有很多需求,Excel做不到?例如,底端标题、隔N行插入M行、金额大小写批量转换等。再或者说,Excel某些内置函数您一直不满意。例如,CONCATENATE有诸多限制;Vlookup只能返回第一个找到的值;SUM函数不能实现按颜色汇总,也不能对超过15位的数据求和……而这都是VBA的用武之地,所有问题VBA皆可轻松化解。
当然,VBA更重要的应用在于开发插件和设计运算系统(财务、人事管理系统等)。当VBA的功能发挥到极致时,很多平常需要数小时的计算工作,VBA能在三两秒钟内完成。“秒杀”,对于VBA用户来说已司空见惯。
学习VBA的基础
学VBA需要会英语、需要懂VB或者C++,这是与网友交流中看到的最多的说法。其实不然,VBA与英语没有任何关系,一个不认识任何单词的人也可以学好VBA,就像笔者自己。当然,会英语对学习VBA是一个辅助条件,可以看懂一些外国的参考资料,但绝不是必要条件,国内的资料已足够丰富。
从另一个角度讲,如果学VBA需要懂英语,那岂不是懂英语的人对于VBA一看就会?事实上当然并非如此,一个英国人学习VBA并不比中国人的学习时间短,这也反证了英语不是学习VBA的基本要求。
VB和C++是否必需要会呢?当然也不是。不过懂VB和C++对于学习VBA是有帮助的,主要体现在编程的理念和思路上,已养成程序员的严谨、逻辑性等良好习惯,这种习惯和思维对学习VBA有帮助,但并非VB和C++程序本身构成学VBA的基础,它们所涉及的对象大不相同。一个C++专业程序员转学ExcelVBA,仍然需要逐个学习Excel的对象、属性和方法,没有捷径可走。
那么学习VBA的基础究竟是什么呢?笔者的看法是:能分清什么是单元格、工作表、工作簿,会使用条件格式、定义单元格格式,会排序、筛选、填充、操作图形对象等,这已足够。当然,还需要认识26个英文字母。
简单吗?是的,学习VBA的基础条件就这些,如果您都会,那么祝贺您已步入VBA潜在用户之列。
当然,若要成为好的程序员,还需要有好的耐心、周密的思维能力、充分的逻辑性,以及举一反三的能力等。
学习VBA需要背英文单词吗
当然不需要。举一个例子:以内的加减法,你我皆会吧?会计算以内的加减法是因为背下了以内的所有加减法表达式的答案,还是因为掌握了加减法运算技术呢?1+1,1+2,1+3,1+4……2+2,2+3,2+4……也就是说,仅以内的加法表达式就有多个,减法表达式也有多个,还不包括小数。把这么多题目的答案背下来是不可能的事,但是懂得计算方法却是极容易的事。方法会了,一通百通。
VBA同样也是这个道理。
如何发挥VBA的潜能
VBA的理论不多,但是理论极其重要,是解决一切VBA问题的基石。学习VBA,需要深入理解VBA的对象、属性、方法、事件,以及它们的调用方式,其后则一通百通。