审计效率手册:用Excel高效完成审计工作
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4 如何学习Excel VBA

如果你没有过编程经历,那么也许会怀疑自己是否能快速学会Excel VBA。如果你只是想用Excel VBA解决工作中经常遇到的问题,那么需要大概三个月的时间,就能够写出像样的工具了。

1.4.1 学习资料

(1)“兰色幻想VBA从入门到进阶80集完整版”视频教程

这个视频教程是Excel VBA视频类的教程里面质量很高的,内容十分全面、详尽。在刚开始学习的阶段,建议大家在看完一个视频后就跟着视频布置的作业练习。这个视频教程不一定要全部看完,可以根据自己的实际需求选择性学习,后面的高阶内容也可以不看。

(2)《Excel VBA程序开发自学宝典》

如果习惯看纸质书的话,这本罗刚君老师的书值得推荐。图书内容质量上乘,可以作为平时查阅的工具书。

(3)ExcelHome论坛

在经过上述两个步骤的系统学习后,我们就需要利用Excel VBA解决实际问题了。Excel Home论坛的Excel VBA程序开发板块内容十分丰富,如果你在开发工具的过程中遇到问题,那么可以直接在该论坛里面搜索解决方法。你遇到的大部分问题都会有现成的答案,对解决问题有很大帮助。

(4)Excel帮助文件(快捷键为F1)

在Excel的编程界面中(按Alt+F11组合键进入编程界面),按F1键就能显示帮助文件,直接搜索函数名或关键字就可以显示出用法说明。在掌握了基础知识后,就要不断写一些代码解决实际问题,这个阶段可以靠Excel帮助文件和ExcelHome论坛来不断学习。

有一点需要注意,只有Office 2007及更早版本有本地的帮助文件,比Office 2007更高的版本都没有本地的帮助文件。所以,如果你联网查看在线帮助文件不方便,那么最好使用Office 2007版学习Excel VBA,这样能够提高学习效率。

1.4.2 学习方法

建议在最开始学习Excel VBA时,跟着上面说的资料(1)、资料(2)进行学习,同时通过例题练习、思考。在这个阶段不能理解的问题,可以通过录制宏来看看实现的操作背后的代码是什么样。

完成基础知识的学习之后,就要以任务为导向,思考在工作中遇到的问题怎么用Excel VBA来解决。先尝试自己写代码,不会的再到ExcelHome论坛上搜索答案,同时通过Excel帮助文件扩展相关知识。这个阶段是一个分水岭,决定了你究竟是“会”还是“不会”Excel VBA。

在写过一两个工具的代码,解决了实际问题之后,基本上就算是“学成了”。这个阶段主要是在工作中学习,遇到问题后去查、去解决就行了。

1.4.3 调试方法

很多人学习编程时为什么会坚持不下去?不是因为没有兴趣,也不是因为不聪明,而是因为迟迟写不出一个程序。为什么会这样?看了书,明白了相关知识点该怎么用,但是一到自己在电脑上写代码就会出错。而自己没有能力看出问题出在哪儿,最终只能放弃。因此,学会调试,找出程序报错的原因,就是学习一门编程语言的第一步。

在Excel VBA中应该怎么调试呢?首先在编程界面的“视图”菜单中勾选“立即窗口”、“本地窗口”和“工具栏-调试”选项,如图1-4-1所示。这是我们需要的基本界面设置。

图1-4-1

其次,当我们遇到Bug的时候,在调试工具栏中单击“逐语句”按钮可以看到每一行代码的执行效果,在本地窗口中会显示所有变量的值,根据这些变量的值你就会知道哪里出了问题。

当然,也可以在重要的语句中间写“debug.print变量或值”,这样当执行到这句代码时,程序就会把该变量或值显示在立即窗口中了。

当程序的语句特别多的时候,你不可能一直单击“逐语句”按钮。这个时候,你可以在想要停止的某一行语句前设置断点。

在一个循环语句中,如果你想让程序在满足某个条件的时候停止,那么可以在循环语句内加入下列代码:

      If then
        Stop
      End if

这样你就可以快速查看断点处究竟出了什么问题。

总之,以任务为导向,在实际工作中学习Excel VBA,并用学习成果提升工作效率是最有效的学习方法。