读书记录:《别怕,Excel VBA其实很简单》

in #excel7 years ago

2017年看完的第一本书!还是本How-To的书!
这本书放在我的Calibre书库里大概已经有两年的历史了!

大一的时候,计算机课程中有一门就是学习编程语言VB。但遗憾的是,那会儿对编程没有一点概念的我,只以60几分(可能还是老师手下留情)的成绩避过挂科。后来在大三的时候,因为考虑到找工作,所以计划着学习一些办公技能。
但是人就是那么的愚昧,如果没有紧迫性、及时反馈与意义,哪怕对自己在好的事情,也会拖延下去。

更何况密密麻麻的代码看着就头大。

可这一次,从翻开第一页到翻完最后页面,前前后后只用了一个星期!

别怕,Excel VBA其实很简单。看完之后,心里想的也是:原来VBA真的没有你想象的那么难(当然它也不简单)。
书里大量借用了厨师烧菜的比喻,来讲述对象、方法、逻辑、循环、函数等概念,并辅以实际案例与练习,教你手把手码VBA代码。相比于学习其他的编程语言,如Python、JavaScript,VBA的优势在于你根本不需要单独配置编程环境,也不用安装IDE,所有的操作全部都可以通过快捷键ALT+F11打开VB编程环境!

为什么这次我能看的进去这本技术书籍,并且能在有限时间内读完?我分析原因主要有三:

  • 扎实的英语基础(Ability)
  • 正式的编程练习经验(Ability)
  • 迫切的工作需求(Motivation)
  • 编程无非是人沟通机器,让机器听从指令行事。

除了某些国人脑洞大开下创造的易语言,主流编程语言(C、C++、JAVA、PYTHON、Ruby on rails)都是用英语写的。于是,只要英语能力过关,编程语言真的就是高度结构化的「自然语言」。比如说,VBA里的对象有application(Excel程序本身)、Workbooks(工作簿)、Worksheets(工作表)、Range(范围)、Cell(单元格),如果你认识这些单词,那么即便你从来没有接触过编程,也会大概知道这是一些什么东西。
限制你继续学习编程的,可能并不是「我数学不好」,而是「英语太差」。

编程是21世纪每个人都应该了解的一门技术。

我本科学的是生物科学,跟编程的关系其实也很紧密(虽然本科期间并没有接触到多少)。最显而易见的是生物信息学,它研究是的遗传信息,整天要跟各种数据库打交道,还有测序分析什么的。即便搞生理学、微生物学方向研究的,也会接触到数据库。如果懂一些数据分析方面的编程技术,比如python,那么在研究过程中就能借用数据分析来清洗海量数据、进行分析。

即便是普通上班族,每天的工作中总有一些重复性的工作,比如整理表格、填充数据、汇总文档等等。这些重复性的工作占据了我们大量的工作时间,弄得我们精疲力尽老加班,还没有什么产出。如果学会了批量处理的,所有工作只需要定义好执行的先后顺序,然后让计算机自己去遍历一遍,不用很长的时间,就能做完原本可能要一周的工作。而这些节省下来的工作,不管是干什么,都会让自己很爽吧!

遍地都是的学习资源,就差你的时间。

还记得小时候,打游戏时遇到关卡闯不过去,急的差点把游戏机给摔了,后来还是请教其他小伙伴(老司机)才得以通关。但是现在,随便遇到点什么问题,百度一下(虽然我用的都是Google),很快就能索引到类似或完全一样的问题,并找到参考的解决方案。学习方面,更是有铺天盖地的免费网络课程。
实际上,如果一个人有心,他完全能靠线上自学,完成MIT的全部课程!

2016年里,我前前后后摸索过Python、HTML、CSS、JavaScript等语言。学习的途径有两种,一种是看入门书籍,比如Python就看了Python for data analysis(由于某些原因,实际上并没有深入了解与实践);而在Front-End(前端)方面,则是在闻名全球的编程学习网站Codecademy上学习。这类编程学习网站提供了交互式的学习环境,不仅有循序渐进的Tutorial,还有实时的编程反馈。

在我理解,编程更像是一种思维模式,而编程语言更像是厨师擅长的各色菜系做法。有的厨师擅长做西餐、有的擅长做中餐;擅长中餐的厨师里面,有的偏向于淮扬菜、有的偏向于广东菜。编程也是,有的喜欢python、有的喜欢Java,还有的喜欢用汇编语言,甚至靠二进制进行编程。

但是归根结底,厨师的目的是做出好吃的菜,程序猿的目的是做出能用的程序。至于到底是用什么方法、什么材料去做,对终端使用者来说也没那么重要。
学了Python,了解了数据类型、变量、逻辑判断、函数、遍历、循环、对象、方法等最核心的编程理念后,再学习VBA就不是一脸懵逼的状态了。

需要学习VBA人群有哪些?

学习一门完全没有概念的东西,的确不是件容易的事。你会时常体会到那种满脑袋都是问号的挫折感。所以,驱动学习的第一核心动力绝非「我爱学习」,而是「不用不行」。当然了,压力、紧迫、恐惧这些负面能量长期以往只会让你觉得难以维系,坚持不下去。正确的学习动机应该是:学了它之后我就可以有大把大把时间去做其他的事情了,或者是学完了之后就能给女神做表格、让女神崇拜地看着我了,又或者是用好了之后老板一高兴就给加薪了!
当然,最原始、最基础的动力还是:我TMD不想CTRL+C 、CTRL+V到深更半夜,然后发朋友圈还特意@一下老板:刚加班结束,今晚月色好美。

美你个大头鬼!

如果你想学会一键生成数据报表、如果你想一键汇总多个工作簿表格到一张表格、如果你想一步搞定资料整理、如果你不想做一切在Excel上重复进行却又不得不做的任务,快来学习VBA吧。
《别怕,Excel VBA其实很简单》这本书只是入门书籍,帮助你熟悉并掌握VBA中的MVP(最小可执行)知识点。从此往后,但凡遇到大量且重复的任务,都可以去网上扒取别人的代码,轻松修改用在自己的项目中。
能不自己写就不要自己写,千万别重复发明轮子。

我用VBA做了些什么?

读完一本书,并不意味着你真正掌握了它。任何知识,如果你不在真实场景中使用,即便能倒背如流,它也不是你的。
属于我的东西,必被我所掌控。

研读完这本书后,我花了整整一上午的时间,从需求描述、原型设计到最终敲代码,终于制作出了一款个人使用的「囚徒锻炼记录V1.0」小程序(我就是这么描述它的)。
它的功能很简单,打开Excel工作簿后,自动弹出用户窗体。在用户窗体上可以输入自己当天的训练项目与数量,并将数据保存在工作表中。另外,用户窗体还要显示锻炼人的昵称、开始时间、已锻炼天数等信息。
example
对于真正的程序猿来说,这样的东西实在是简陋到家了。
不过,反正我自己用,是不是?
后面,我或许会增加数据统计功能,生成图表……
一切的前提是,我真的能坚持完成锻炼项目。

Coin Marketplace

STEEM 0.28
TRX 0.12
JST 0.033
BTC 66880.67
ETH 3098.10
USDT 1.00
SBD 3.75