Excel VBA业余爱好者心得及总结


我不是IT专业人士,而是一位医务工作者,当初学习Excel VBA时,是因为读研究生时的课题需要:实验仪器每天产生4个Word文件,每个文件有9个表格,总计近百个数据。为了对这些数据进行统计分析,则需要将它们导入到一个Excel文件。当时老板让我坚持每天手工操作。我相当地厌倦这种枯燥的没有任何成就感的工作。

 

学习Excel、Word时,知道有个宏功能,可以实现办公自动化,仔细看了微软的介绍后,知道了“宏的另一种状态”,Visual Basic for Application,其简称也就是大名鼎鼎的VBA了,并且知道通过VBA可以在Office相应的组件间(如Excel、Word、PowerPoint)进行调用并读取所需的数据和信息。感叹于VBA的神奇功能,当时就有学习VBA的冲动,因学业的原因,一直没有付诸行动,直到课题需要时,终于决定开始学习VBA。

 

于是,到书店买了一本VBA教程,看了段时间后感觉不行的,貌似看懂了,但却不会用,对于如何将Word中的数据导入到Excel中更是一点头绪都没有。接着又到书店开始寻找VBA方面的书籍,先后买了两三本吧(当时关于VBA的书籍并不是很多,好在上海在书籍销售方面还是很发达的,二、三线城市估计就没这个优势了),甚至买了本带“准互动式”视频(当时的叫法是多媒体)教学光盘的VBA教程书,看了后仍是丈二和尚的感觉。个人认为,这本带视频光盘的书籍是最会挖坑的,售价也非常高,而里面多媒体教程只是一些视频演示,可以快进或快退,于是就敢称“互动式”视频了!当然,这些“多媒体”最差劲的是演示了半天仍不知其所以然,好像不是在教大家学习VBA,而更象是展示自己的视频制作得如何出色。

 

如是折腾几次后,都准备放弃学习了,想花钱请人写个VBA程序来解决问题。在放弃前,再一次去了书店,遇到一本面向大专生的VBA教程。当时自己暗暗地想,我已经达到了研究生的水平,如果连大专生的教程都看不懂,真应该去撞豆腐了!于是,买了下来。可喜的是,终于看懂了,并很快就入门了。然后,开始着手编写课题所需要用的VBA程序,并很快完成。看着电脑在那不知疲倦地打开一个个的Word文件,然后把数据导入到Excel中,真的是一种享受!

 

能简单地使用VBA后,就一直喜欢用它来处理些问题,有时,感觉写VBA代码所耗费的时间要比单纯地手工操作多很多,但因为写好代码后的那种成就感的支撑,自己还是一点点地写了些VBA代码,这些代码主要帮师弟师妹们处理下他们课题中的数据,没有太复杂的操作。

 

移民加拿大后,发现很多中国人都改行做了会计,每天都和Excel条交道,其中一些人是迫切地想学习VBA。但他们也面临着当初我所面临的问题:看了书后仍旧觉得无所适从,有些人没有看中文的VBA教程,直接到图书馆借的英文版的,看后更是觉得头大。会计在实际工作中面临着大量的重复的枯燥的操作,数百页,甚至是上千页的VBA教程(有个会计下载了本英文版的VBA教程,1200余页),对他们来说就是手持宰牛刀准备杀鸡时,却感觉使不上力!而且因为生活工作繁忙,他们很难如学生那样静下心来花费大量的时间去学习VBA。他们主要是使用录制宏的功能产生一段代码,然后试图网卡检索或翻看相应的书籍来搞明白这段代码的含义。因为没有相应的编程基础和观念,这样做的结果并不是非常地理想。

 

知道我略懂VBA后,有些人向我请教,也辅导过一些人学习VBA。在这个过程我渐渐地明白了他们所面临的问题,与当初我所面临的一样:看了很多资料后,面对具体问题感觉仍旧是无所适从。而且我辅导过的人年龄都偏大,工作生活等都非常繁忙,没有太多的精力,也没有太多的时间静下心来学习VBA,他们都希望以“短平快”的方式快速地掌握基本的VBA技能,而不是成为这方面的高手。刚开始辅导时,大家坐在电脑前,一边讲一边在电脑上演示,后来,在第一次辅导时,连电脑都不用了,一支笔几张纸,一边讲一边在纸上写写画画地就可以的。因为他们迫切需要知道的不是如何写VBA代码,而是需要了解VBA的编程思路。经过2到3次辅导(大约5-6小时),他们就基本掌握了VBA的编程方法和思路,余下的,就是在实际工作中的自学和实践了。

 

近来笔者有些空闲时间,于是,决定把当初自己学习和辅导他人学习VBA的一些感受和经验写下来,以帮助有这方面需求的非IT专业人士。本总结所面对的读者是能熟练地操作Excel的人,而不是Excel的初学者。