近日,金多多的王老师跟我提及了关于设立Excel VBA学习专栏与交流社区的想法,来配合《Excel VBA基础与金融行业应用》课程的横空出世,让更多的金融从业的朋友能从Excel VBA中收益。
这与我之前的想法不谋而合,因此我也就借着金多多这股东风,趁着年关将至带来的忙里偷闲,在此,闲话一下Excel、戏说一番VBA,也总算让我有了机会好好拾掇拾掇把玩了这么些年的Excel VBA。
向我提问的朋友中,做金融和咨询的居多,虽然大多数人对于VBA这类程序还是较为陌生的,但却都表示了学习Excel VBA的愿望以及热情。因为VBA的好处对这些从业人员来说是诱人的:
Ø VBA可以协助用户完成数据的自动化分析工作,把人从冗余的重复性数据处理的桎梏中解放出来。
Ø VBA可以美化你的Excel表单,夸张的说可以变得“面目全非”,带有VBA宏程序的Excel文件完全不相信它竟是“Excel”。
Ø VBA的应用领域非常广泛:它可以使表单的层级结构化、实现与其他的office文件(比如doc、ppt文件)间数据的交互、甚至可以作为游戏平台开发游戏(比如网上盛传的Excel三国杀)。
这就是一张“面目全非”的ExcelSheet
以上是朋友们着迷于VBA的原因,但是,
Ø 如何学习VBA?
Ø 学习VBA需要具备什么基础?
Ø 掌握VBA又需要多少时间?
这些也正是刚接触Excel VBA的朋友们都会提到的问题。
一般,VBA对于初学者特别是没有编程基础的人来说,可谓是雾里看花,要真正了解学习这门语言的法门,我想先分享我的计算机语言学习经历,以“抛砖”,然后再“引玉”,解答大家上面的问题。
我最先接触的计算机语言是在大一,学的是C语言,可当时因为觉得就一门心思想做金融,又死脑筋地觉得编程这号事儿与金融这样专职于投机倒把勾当的行业没半毛钱关系,抱着这种心态我C语言最终成绩就恰似其名的,来了个名副其实的“C”。
这段小插曲,自此让我对计算机语言的学习留下了不小的阴影与恐惧。 但由于我研究生时修学的是金融工程,所谓的金融建模课程其实每天都几乎离不开编程,所以也算是逼着自己开始好好学习计算机语言,就在这种赶鸭子上架的过程中,我的VBA、C++、Matlab都逐渐成为了我的强项,而在无数的程序设计、应用开发中也体会到了Excel VBA对从事金融的帮助之大,我对VBA越来越有兴趣,最终我的程序设计课程以全A收官。
上班之后终于开始真正接触金融实务了,可从事金融的同事大多都没有编程技能(因为金融从业者不是码农),本以为Excel VBA再也无用武之地,准备压箱底了。但没想到,偶然设计了的一个很小的数据处理程序被partner相中。partner像发现了新大陆一样被那些经过VBA界面美化、功能强化的Excel表单吸引住了。我被委以了“重任”——开发金融工具, VBA也成了我赖以谋生的求生技能之一。
之后的“升职、加薪、教新人、带团队”这些已落俗套的故事情节我就不在此跟大家赘述了。
以上都是我真实的故事,而真实的背后,也是我总结的关于Excel VBA的“真理”:
第一, 学习Excel vba是否需要编程的基础?
答案是否定的。你能否学会VBA,与你的专业背景、工作环境、年龄大小都没有任何关系。不管你曾经的程序设计课程是否成功,只要你当下下决心要学VBA,有兴趣掌握VBA来解决你日常中碰到的问题,而且认为VBA会成为你谋生的一项技能,那你自然能够有一天在编程方面登堂入室。
第二, 如何学习Excel VBA?
在我看来,VBA学习的途径主要可以归结如下:
Ø 通过看书自学成才(这一般适用于自制力强有程序设计经验的人)Ø 请教经验丰富的VBA程序员(所谓“知音难觅,良师难求”,金融从业者周围往往就稀缺这样懂程序设计的“良师益友”)
Ø 参加VBA相关的课程(所谓“书非借不能读也,班非报不会学也”。报一个课程,比如金多多的精品课程《Excel VBA基础与金融行业应用》,既可以给自己施加压力,逼迫自己去学习,同时也能认识一群有共同学习、互相竞争的小伙伴,有助于技能的进步。)
第三, 掌握Excel VBA需要多少时间?
根据我的经验,仅从掌握这门语言来看,仅需要16小时,因为当时我研究生时VBA的课程安排仅一个月,每周4小时课时,因此我觉得16小时即能掌握VBA(这也是我为何将《Excel VBA基础与金融行业应用》设置为16小时基本课时的由来和依据)。但掌握不代表精通,也不代表可以解决实际工作中碰到的问题,因此成为Excel VBA程序设计大师的关键在于多多经历解决方案的设计以及编程的实践。
最后, 也是很重要的。人贵有一技之长,但若我们深层次地进一步思考,所谓“技之长”是要与周围人“技之短”相比较相衡量的。拿我来说,鄙人在编程可能不及专职IT领域的码农来的驾轻就熟,但相比于从事金融的同行,我显然是鹤立鸡群的。在金融行业,擅长运用VBA来开发金融解决方案的人凤毛麟角,如果你能掌握Excel VBA,即使不精通,你也能为自己的简历增量、为自己博得老板的欣赏、为自己争取更多的机会。引用陈毅的名言,“在将军面前我是诗人、在诗人面前我是将军”。
正值招聘时节,也顺便侃侃职场。这两天,我们券商在招人,本人也过目了挺多应届毕业生的简历,除了秀出自己的CFA、CPA这些“肌肉”外,有些同学也加上了“掌握Excel VBA“或者“有VBA工具开发经验”类似的简介,让我颇有眼前一亮的感觉。
在当下这样工作职位供小于求的时代,竞争激烈。作为一个过来人,想送给在读以及即将毕业的学生两句寄语,亦是我在职场摸爬滚打的领悟:
第一, 人贵有“一技之长”;
第二, 机会留给有准备的人。
此文算是我Excel VBA Q&A答疑汇总的第一篇文章,先跟大家沟通一下学习方法以及经验,大家且当是序言,随性读读。
之后我将借用金多多的平台,在Excel VBA学习专栏与交流社区中会不定期的更新博文,将我平时工作中碰到的用VBA解决的问题、或者觉得很有意思的VBA宏程序放出来,与大家分享。
今天先放一个比较好玩的附件“动态的Excel VBA图表”【访问密码 19c5】,向朋友们或者第一次接触VBA的读者们见识一下Excel VBA的无所不能、乐趣无穷以及强大魅力。
金多多教育 特级讲师:草头菜
2013年12月12日
原文出处:http://www.jinduoduo.net/news.php?id=86