再来谈谈VBA的学习问题

2021-08-30 11:08:47 浏览数 (1)

有朋友在问,从零开始学习VBA应如何着手?

一般对于问这个问题的人,我的建议是:慎重考虑是否真有必要学VBA——除非您还是一个年轻且有大量精力和时间的在校学生。

现在,网络上有很多从入门到精通的书,其实大多数是从入门到放弃!

很多通过几十天就能精通VBA的说法其实都有一个前提,就是你本身有一定的编程基础,比如你原来学过其他的编程语言,而只是切换到VBA,那实际上你只需要学点儿VBA的语法就能用起来了,因为你已经具备编程的思维和能力。

学习编程最难的是对编程思维和能力的磨练——对的,是“磨”!这个过程是十分漫长的,没有快捷一说!比如为了一个小小错误可能要花几个小时甚至几天的时间来找到原因:

而且,为什么大多数的程序员都会每天晚上搞到夜里不睡觉,因为程序有bug没调试完睡不着啊!呵呵。

电影里的程序员都是这样的——高富帅屌炸天!

实际生活中却可能是这样子的(在BAT的技术大牛除外):

那么,对于Excel的普通用户,除了学好基本功能、函数等,想进一步提升相应的能力,怎么办呢?——我个人建议可以先考虑学Excel2016新的Power系列功能(如Power Query,PowerPivot等。2010或2013可到微软官方下载插件):

Power Query采用图形化的界面,大量功能的使用跟在Excel中的鼠标操作差不多,用于处理多种复杂数据源等情况时,却比VBA要简单得多。

举个简单的例子,将多个工作簿的数据进行合并,用Excel2016的新功能Power Query(Excel2010或Excel2013可到微软官方下载相应的插件)根本不需要写任何代码,普通用户鼠标操作1分钟都不用就能直接完成,步骤如下:

1、从文件-从文件夹

2、添加自定义列,写公式:Excel.Workbook([Content])

3、展开工作表

4、展开表中数据

通过以上简单4步,所有工作簿的所有表数据均已整合到一起,如下图所示:

对于已整合到一起的数据,还可以继续通过Power Query简单选择列和按需要筛选数据即可达到需要的效果,都是鼠标操作,非常简单。


当然,举某一个例子不足以说明更多问题,Power Query和VBA各有优势。下面再对比一下Excel公式、VBA以及PowerQuery的学习曲线,显然,Power Query可以在非常短的时间内达到非常高的效用:

学习建议

  • 把Excel基本功能和函数学好,毕竟那是最基础也用的最多的东西。
  • 对于Power Query和VBA,优先学Power Query。
  • 学有余力,对编程非常感兴趣,并且有足够的时间,再考虑学VBA吧。

在线M函数快查及系列文章链接(建议收藏在浏览器中):

https://app.powerbi.com/view?r=eyJrIjoiZDVhZDBlMTYtNDkzNC00YWFjLWFhMmMtMmI3NTk2Y2ZhMzc3IiwidCI6ImUxMTAyMjkxLTNkYzUtNDA1OC1iMDc3LWQ0YzU4YWJkMWRkOCIsImMiOjEwfQ==

0 人点赞