最近的事务迫使我要处理大量的Excel表格,我已经感到很厌烦了,每次那么几个动作都要重复好几次,密密麻麻的数据,我已经眼花缭乱了好吗。我下定决心必须要解放自己的劳动力,提高效率。最有效的途径就是把一些简单的重复步骤都写成VBA脚本,时间宝贵不能浪费在低级操作上面。
但是之前没有接触过VBA的相关语法,而且连Excel都是最近被逼着用,那么摆在我面前的重要问题就是: 我应该怎么进行快速学习,达到学以致用的目的。
如果解决不了,那么我就只能用很LOW的方法了。想想都感到害怕。
3年的.NET编程经验让我从一开始就知道应该怎么做来让我能更加快速的得到我想要的相关知识。花了我半个小时左右的时间,基本上是做出了一个还算是可以的脚本。
我总结了一下,将我当时的学习方法做一个分享。
我将30分钟的时间,划分成三个步骤,每一个步骤大约花费了我10分钟的时间,当然具体时间因人而异。那么我们接下来就可以来看看我的每个步骤和达成的目标吧。
第一个10分钟 上网看别人的代码
现在有很多的论坛和博客,都有介绍具体的案例代码。在我们不明确解决是什么具体问题的时候,我们随便搜,随意看。(当时我最想做出的脚本程序是解决多行转一列,以及多列转一行的效果)
这一步我们要解决的问题就是:看什么、看多少。
1):看什么?
找一篇代码量比较简短的文章,看我们不认识的名词具体来说就是看带括号()、带引号:、带点号.的内容,并且进行记录。
注意点,千万不要带着看懂这段代码逻辑的心态去看网络上的案例,要不然如果是新手会导致内心崩溃,当然能看懂是最好。
2):看多少?
俗话说:看遍唐诗三百首,不会做诗也会吟。当然VBA可比唐诗简单多了,学习VBA并不需要看300个案例那么多。大致上看5个体量差不多的案例代码就可以了。
这一步我们要达到的目的如下:
> 重复第一个步骤,做好记录
> 统计名词出现的频率,高频名词就是代码的基石。
当时我看完三个demo之后,我就发现,经常会出现Range、Selection、Ubound等对象。那么我大概就能猜测,这几个我搞清楚,整个程序就能了解一个大概。
这十分钟让我们明确我们的目标,进入学习的第二个十分钟步骤。
第二个十分钟 查看相关的知识点介绍
对照记录表中的名单,去网上查找相关概念,搞清楚是干嘛的。
> 比如Ranger对象
> 比如Selection对象
> Dim是什么 As是什么
> Dim MyArray(10) 、Dim MyArray() 是什么意思,有什么区别
> Redim 是什么意思
查看完了,最好能用自己的话进行相关复述,如果复述的时候感到不清晰,那么就多看几遍,或者记录下来,千万不要进行深究。
小结:这一步我们重点解决的问题是:这个是什么,而不是为什么是这个为什么这么写。
第三个十分钟 代码复述
去网上找到稍微短小的一段代码,这个时候我们需要一行行看,逐个解释遇到的名词,有效的方式是看完一行代码,我们就用中文进行翻译。
看完全部代码,给出结论,这个代码是要解决什么问题而出现。
做到以上,还不够,我们需要打开VBA编辑器,复盘这段代码,复盘也可以最简单地理解成默写。
在复盘代码的时候,用我们喜欢的方式去复盘,比如表示单元格可能有很多种方法,但是我们第一眼就看上了其中一种方法,那么我们在这个阶段就用这个方法。
如此往复,增加我们的语法感觉和自信心。
总结
VBA很简单,不要被吓到,也千万不要找手册从头看到尾,给自己半小时的专注,你的大脑会强迫进行调整,让不适应的东西变成自己适应的。
如果半小时不够,那么就一小时,能掌握多少就是多少。
相信自己的潜力,99%的失败都是因为自身专注度不够导致的。
网友评论