以下内容来自公众号逆锋起笔,关注每日干货及时送达
01
VBA,扫地僧一般的存在
Excel功能丰富,最厉害的五虎上将分别是:
函数与公式、数据透视表、图表、Power BI和VBA。
前三个是常规主力,久经沙场,能将大部分表格问题斩于马下。
Power BI本是新生代的四小天王组合,虽然目前只剩下Power Query和Power Pivot,但作为开路先锋,锐不可当。
以上这些功能的用法和案例,我们以前没少分享,只有VBA,介绍的少。
是因为VBA不够厉害吗?
恰恰相反。
是VBA太厉害了,妥妥的扫地僧级别。
但凡你用Excel的时候,遇到穷尽所学也搞不定的情况,
只要请出VBA,必能化敌于无形。
为啥VBA这么厉害,我们却介绍的很少呢?
因为这个级别的功能,是有一点学习门槛的。
我们很难做到在平时短短千把字的文章中,把案例、代码、代码解析和相关的语法知识用图文并茂的方式一次性讲清楚。
如果强行这么干,对于功力欠缺的小伙伴来说,就变成了一种打击,打击他们学习的积极性。
很多人知道VBA厉害,也不止一次动过学习的念头。
就因为担心自己学不会,才一直没有开始。
还有一些人,起了个头,但卡在某个知识点,没办法快速转化出学习成果,半途而废了。
但是,坚持学下去,并且成功写出代码应用到工作中的人,大有人在。
他们在自己的公司,一定都是“表神”般的存在。
表神的快乐你能想象吗?
你想象不到。
一个从没写过代码的人,无法想象看着自己编写的代码一路顺利运行瞬间搞定原本需要几小时、几天工作的快乐;
也无法想象你的同事甚至你的老板每天用着你做的带交互功能和自动处理功能的模板,规规矩矩填报数据时,那种快乐。
02
VBA学习路径1.0
这些表神,具体的VBA学习路径是怎么样的呢?
Kevin我来给大家还原一下。
首先,一般是通过看书或者网站上的资料,了解VBA的基础知识和常用语法。
比如专门写给小白的《别怕,Excel VBA其实很简单》,
或者Excel Home论坛上各方大神分享的教程。
然后,就要根据自己的需要逐步进入实战了。
下面这张图对于VBA的学习路径讲的很清楚了。
VBA的基础语法并不复杂,几个小时就能了解到七七八八。
你知道吗?在专业程序员的眼里,VBA只能算内嵌在Office里面的一种脚本,甚至算不得严格意义上的编程语言。
所以,大部分人在学习VBA的基础语法时,并不会感觉到难以理解。
但是,从基础语法到实际写代码的升级过程中,确实存在困难。
我觉得主要的原因还是基础不牢固以及样例太少。
理解并不代表可以灵活运用。
而且,Office的对象、属性、方法确实非常多,要想按需写出能完成任务的代码,或者把ExcelHome技术论坛借鉴来的代码修改到能完成自己的任务,都需要足够的时间学习和实践。
难就难在,大多数人没有这么多的时间以及强劲的动力持续学习。
03
VBA学习路径2.0
为了解决这个学习难题,Excel Home尝试了各种方法。
比如我们编写了《Excel VBA经典代码应用大全》,整理了各类常见场景的VBA代码和解析帮助大家进行实战。
我们甚至制作了“VBA代码宝”这样的编程助手和代码库来帮助学习者提高实战水平。
应该说,有一些效果。
但是,横空出世的ChatGPT彻底改变了VBA的学习路径。
新的路径是这样的。
作为一个可以24小时贴身协助的AI助手,ChatGPT可以让所有人的学习难度下降90%。
这么说吧,如果咱们的目标是能熟练运用VBA解决工作中的一些繁琐重复的任务,大幅提高效率,有了ChatGPT以后,只要你花几个小时进行基础知识的学习,就可以直接开始上手了。这在以前,是完全不可想象的。
我们举个简单的例子。
我有一个Excel表格,A列存储了很多很多人的名字,
这些人的同名图片就存放在"我的图片"的文件夹里面。
现在我想把这些图片,自动插入到B列里面。
这种批量的、有规律的任务,明显就该是VBA出手的时候了。
于是我们向ChatGPT提问,ChatGPT秒回。
代码工整,逻辑清晰,注释完整。
在回答的末尾,还有补充说明。
就问你贴不贴心,感不感动?
但是,光贴心也没用,关键是要正确。
于是我把这段VBA代码贴到Excel文件里,修改文件夹路径,运行。
完美!
刚才我们的提问非常简单,ChatGPT根据自己的理解给出了代码,而且能顺利运行并且达到目标。
说实话,这有点运气成分在里面。
如果我们提问时给出的有效信息很少,ChatGPT就只能猜测我们现有的情况是怎么样的,我们的具体目标是什么。
既然是猜,那么就有猜错的可能性。
如果希望提高ChatGPT回复代码的准确性,减少后期人工调试和修改的工作量。
我们通常需要在提问的时候更准确的描述我们的需求。
比如,现在需要按照月份把下面这张工作表拆分为不同的工作表。
我们如果简单的提问,“用VBA按照月份把我的表格拆分成不同的工作表”。
按我的经验,得到正确代码的可能性不高,因为ChatGPT完全不了解你现有的表格,也不了解你到底要怎么拆分。
这种时候,我们就要给出更清晰明确的指令。
这个例子的回复,咱们就不展示了。
只是想告诉大家,Prompt(指令)很重要,需要多多学习和练习。
当然,即使咱们的提问已经相当到位了,以AI现有的水平,也不能每次100%给出满意的代码。
所以,如果有人说零基础小白用AI就可以编程,这个人一定是骗子。
AI只是助手,可以大幅节约咱们的学习成本和写代码的时间,但还不能替代人。
我们需要有一些基础,再来用AI,才能真正用好AI。
另外,ChatGPT是一种生成式的AI,不是传统意义上的知识库。
所以,如果你用同样的问题多次提问,可能每次得到的答案都不完全相同。
使用ChatGPT生成代码也是这样。
那么,对于功底比较弱的小伙伴来说,如果你的提问没获得满意的代码,就多问几次。
通过优化你的问题,哪怕重复你的问题,来提高获得满意代码的概率。
比如刚才这个批量插入图片的例子,我隔了几分钟再问了一次。
好家伙,给我的代码,居然变量名用的是中文。
看来中文的地位一直在提高啊。
除了用ChatGPT生成代码,咱们也可以把自己有问题的代码交给ChatGPT排错和优化。
有不理解的代码,可以请它解释,甚至让它举例来教你。
有了这样的工具,你还没信心学好VBA吗?
如果你身边有个拽拽的“表神”,你是不是能花比他更少的时间,成为新神?
04
VBA与ChatGPT的强强联手
从今年1月份开始,Kevin和其他老师就投入到了ChatGPT以及其他多种AIGC工具的研究和实测当中,有了很多心得。
并且在以往的文章中,多次分享了这些心得。
今天,多位老师合力完成的《用ChatGPT和VBA一键搞定Excel》就是其中的成果之一。
这本图书沿着最新的VBA学习路径,
讲解了VBA的基础知识,讲解了如果调试代码;
讲解了ChatGPT的基础知识,
重点讲解了借助ChatGPT学习VBA、获得VBA代码的多个案例。
我们相信,有了AI的帮助,没有编程经验的普通办公人员也能快速驾驭Excel VBA,实现多个场景的办公自动化,提升效率。
ChatGPT只是本轮AIGC浪潮中的一个代表作品。
在本书编写完成后,ChatGPT完成了多次进化,其他类似产品,尤其是国产AI也不断涌现,比如百度文心、阿里通义千问、讯飞星火等。
这些产品的功能界面和使用方法都类似。
所以,本书的内容也适用于这些模型。
欢迎添加逆锋起笔个人微信 codingSmart 获取各种学习资料或围观朋友圈活动
今日福利
赠送如下图书籍:
赠送规则:
1、给本文点赞、在看
2、给本文留言(留言内容与本书有关)
3、中奖后我会回复你的留言,请注意公众号消息。
上次中奖者: