在线试读

get_product_contenthtml

  * 透视VBA的知与行 *
  我们都生活在信息社会中,生活在一个前所未见的充斥着海量数据的年代。无论是企业还是个人,每天都要接触无数以数据为载体的信息。
  数据,甚至已经成为了企业或个人的替代品。
  不相信?
  一家你未曾亲身到访甚至未曾接触过其产品的企业,对你来说意味着什么?它无非会成为财务报表或统计报表上的一堆林林总总的数据,诸如生产规模、员工人数、利润水平……
  一个你未曾谋面未曾听说的人,对你来说意味着什么?就好像进入婚恋网站搜索对象,这些陌生人只不过是个人指标数据的集合体,诸如身高、体重、职业、收入……
  想要在这样一个时代生存,处理数据的能力是必须的,因为实在有太多数据要处理了。广大Excel的用户,尤其是Excel的重度用户肯定对此深有体会。
  作为Excel Home的站长和一名培训讲师,我接触过许多各式各样的数据处理要求,也体验或亲身参与过许多基于Excel的解决方案。这些宝贵经验让我对Excel提供的各项功能有更深的理解。
  在Excel中制作计算模型,主力军非函数与公式莫属。300多个不同功能的函数在公式中灵活组合,可以创造无数种算法,再加上数组和名称的配合使用,几乎可以完成绝大多数计算任务。
  要论数据分析和报表生成的便捷,不得不提到数据透视表,这是Excel厉害的本领,厉害在于其功能强大的同时,使用起来极其简单。
  但如果只会这两样,仍然会有很多时候感到束手束脚,究其根本在于:
  1. 函数和公式只能在其所在的位置返回结果,而无法操作数据表格的任意位置,更不能操作表格的任意属性(比如设置单元格的填充色,或者删除单元格)。
  2. 函数和公式、数据透视表都需要规范的数据源,但往往我们工作量之处就在于获取和整理原始数据。比较麻烦的情况之一就是原始数据很可能是位于某个文件夹下的几十份表格。
  3. 使用函数和公式、数据透视表制作的解决方案,难以具备良好的交互性能。因为它们只能存在于单元格中,与普通数据是处于同一个平面的。
  4. 对于业务流程较为复杂、数据项经常变化的计算很难处理。
  5. 无法迅速省力地完成大量的重复操作。
  所以,永远不要忘记Excel还有一个杀手级的功能——VBA。
  VBA是什么,怎么用,在本书中会给出详细的答案。这里,我只想说,只有这个功能才真正让Excel成为了无所不能的数据处理利器,才让我们有机会可以彻底地高效办公。
  很多人认为VBA很神秘,认为会写代码是自己不可能实现的事情。虽然我不能保证人人都能学会VBA,但我可以保证如果你能学会函数和公式,你也能学会VBA,因为它们的本质是相同的。函数和公式无非是写在单元格中的一种简短代码罢了。
  所以,如果你曾经觉得自己连Excel函数和公式也搞不定,现在却能熟练地一口气写下好几个函数嵌套的公式,那么你学VBA不会有问题。
  在我眼里,VBA就好像“独孤九剑”剑法。这武功的特点是遇强则强,遇弱则弱。如果你每天面对的数据非常有限,计算要求也很简单,那么用VBA就是高射炮打蚊子了。但如果你是Excel重度用户,经常需要处理大量数据,而Excel现有功能无法高效完成计算任务时,就可以考虑让VBA上场,一举定乾坤。
  今时不同往日,互联网的发展使得技术和经验的分享非常方便。如果说十年前你想用VBA实现任何一个小功能都需要先掌握全部语法,然后一行一行代码自己写的话,那么现在Excel Home上有太多太多现成的实现不同目标的VBA代码,许多代码甚至已经到了拿来即用的程度。
  所以,如果你的时间非常有限,也没有兴趣成为一个Excel开发者,你只需要快速的学习掌握Excel VBA的基本语法,然后到互联网上去淘代码来用到自己的工作中。如果你投入的时间多一点点,你会发现你很快就能看懂别人的代码,然后做出简单的修改后为自己所用。这个过程,是不是和你当年学Excel函数和公式的经历很类似?
  等你做到这一步,你会发现原来公司里那个很厉害的会写代码的Excel高手的秘密武器原来是这样的啊,以后可以少请他吃饭以换取他为你写个小功能了……
  因为工作的关系,我接触过很多信息化工具,也了解过一些编程语言,我发现所有工具的本质是相通的。每种工具都有其优缺点,有其专属的场合。这种专属并非指不可替代,而是说选择。
  因此,我不赞成VBA至上的观点,因为尽管VBA无所不能,但如果我们事事都写代码,那还要Excel本身的功能干嘛?我也反对VBA无用的观点,你暂时用不上怎么能说明此工具无用?甚至说,你根本就不会用这工具,怎么知道你用不上?
  用VBA,是为了更高效。不用,也是因为同样的目的。
  但是,会了VBA,你将拥有高效的更多种选择。不会,你就没有。这一点,高效人士都懂的。