学会了VBA,工作是一种享受乐趣的过程

如何学习VBA?一直是大家关心的话题,这里我梳理了自己多年从事VBA应用的经验,分享给大家。也突出了我编程思想:积木编程。我给VBA的应用定义:VBA是实现个人小型数据自动化的有效工具(手段),这里的介绍都是我的经验之谈,VBA的重点就是应用,用于实现自己的数据自动化处理。今日的内容是第44讲:自制VBA工具,充分享受工作的乐趣。

3.3.10 自制VBA工具,充分享受工作的乐趣

进入职场,每个人,或多或少会有些工作的压力,这些压力有的是外部的,如公司要求你必须完成的工作,有的是来自内部,如自己要求自己水平要不断提高,不能久居人下,要提高自己的能力,有一个好的职位。无论是哪种压力,最迫切的是要自己提高自己的能力和水平,只有自己的能力和水平提高了,前者才不挨骂,后者才能一步步地进取,世界上没有不劳而获的事情,我们的目的很唯一,就是提高自己的能力和水平。

但是,工作,毕竟只是生活的一部分,最怕的是把工作的压力带给自己周围的人,在努力的同时,要转变一下自己的思路,要想办法自己去除这种压力,就是我的文章题目所提出的,要在学习有用的知识的同时,享受知识带给我们的乐趣,从而愉快地完成自己的工作,一方面可以让工作顺利完成,一方面不会把工作压力无谓地扩散。

怎么做到呢?如果你经常的数据打交道,恭喜你:VBA可以帮助你。事实胜于雄辩,我今日就从现实的工作中找一个利用VBA工具的小例子和大家分享,同时也是一个VBA实用工具的积累。

我在文章中经常提到FIND方法,甚至提出这是LOOKUP函数的终结者。我们在工作中经常会遇到各种各样的查找,如唯一查找,非唯一查找,模糊唯一查找,模糊非唯一查找,两列查找等等,这些查找在我们的工作中会占用很多的时间,如:领导经常会在快下班的时候给你一大堆的数据,要求你在下班前把这些数据的资料给统计出来,交给他。这是非常头疼的事情,查找虽然简单,但数据量大,而且最怕的是出错,时间紧,任务重,头皮都会发麻。

那么我们能不能做一个VBA的工具,把所有的查找集成一下,用来实现我们的各种目的呢?

答案是完全可以的,而且是必须的。

大家看下面的截图,这是我在工作中自己编的一个小工具,就是实现的这个功能:

我在“MY”工作表的第一行加入了很多按钮,这些按钮可以实现不同的目的:有唯一查询,有非唯一查询,有模糊查询,两列的查询等等,只要在“MY”的工作表A列中输入想要查询的数据,就会在“FIND”页的工作表中找到相应的记录,并把这些记录的相关信息记录在”MY”工作表的B2、 C2、 D2 等单元格内。从而实现了查找的自动化。例如上面的截图中,我在A列录入了几组数据A1 A2 A3 A4 A5 A6 A7 A8这些数据,在“FIND”工作表中是什么样子呢?我们看看“FIND”页工作表的截图:

我的目的是A1的相关信息,也就是说“FIND”页中的第二行的有关A1的信息B1、 C1、 D1传递到 “MY”页,放在相应的单元格中,如何实现呢?只需轻轻的点击一下按钮“A唯一查询”即可:

看下面的查找后的截图:

如上截图,非常轻松地实现了我们的要求,有了这个工具,假如领导要求你在下班前在上万条的记录中查出几百条记录,是不是几秒钟就可完成呢?

当然,上面的例子是记录唯一的情况,那么记录不唯一呢?正如我给出的资料中有几个A1的信息,这时怎么办呢?你只需要轻点按钮“非唯一查询”按钮就可以实现了:看下面的截图:

这样就把所有的A1信息都给列出来了。当然,在实际的应用中要事先判断一下记录是否是唯一的,这也是不难做到的。

那么如果要查找到所有包含所给信息的记录呢?也不难啊,你可以点击一下“模糊非唯一查询”的按钮就可以实现啦,我们看看点击后的结果:

所有的信息记录都出来了.非常的方便、快捷。

这个工具中还有很多的按钮就不一一的说明了,那么我是如何实现的呢?看我的代码:

代码就不一一列出了,其实,在《VBA代码解决方案》中有很多的实例,这套书就是我20多年经验的积累,读者可以参考其中的内容,把和自己工作有关的程序做成自己的小工具,当你应用这些自己做的工具,顺利地完成了工作,即准确,又高效,何尝不是一件乐事呢?跟紧我,好好学习VBA吧。今天的工具资料将开放代码。

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

第7套教程(三册):VBA之EXCEL应用

第1套教程(三册):VBA代码解决方案

【第4套教程(16G):VBA代码解决方案之视频(第一套的视频讲解)】

第3套教程(两册):VBA数组与字典解决方案

第2套教程(两册):VBA数据库解决方案

第6套教程(两册):VBA信息获取与处理

第5套教程(两册):VBA中类的解读和利用

第8套教程(三册):VBA之Word应用(最新教程)

上述教程的学习顺序:

① 7→1→3→2→6→5或者7→4→3→2→6→5。

② 7→8

  • 如何学习VBA呢? 概括的说就是: 学习过程中要信、解、受、持,更要有回向的业力。无论您在学习的任何阶段,都要对照教程的知识点加持自己的实际工作,总会有丰厚的收获。
  • 教程学习顺序是7,1(或4),3,2,6,5。如果想学习WORD VBA选择8.第7套《VBA之Excel应用》是对VBA基本的讲解;第1(或4)套《VBA代码解决方案》是入门后的提高;第3套《VBA数组与字典解决方案》是VBA应用的专题讲解,教程中讲解的专题是数组和字典,大家会在这套教程中看到非常全面的数组与字典的应用;第2套《VBA数据库解决方案》也是VBA应用的专题讲解,教程讲解的专题是数据库,大家会在这套教程中看到VBA连接Excel与accdb的全面应用;第6套《VBA信息获取与处理》是整个VBA应用的提高,大家会看到网络应用及跨应用程序的应用;第5套《VBA中类的解读及应用》是VBA的最高理论“类”“接口技术”的讲解。第8套教程《VBA之Word应用》是对WORD vba应用的专业讲解,是紧扣面向对象编程的讲解,建议在第7套教程之后学习。