本章内容:
- 探索EXCEL通用功能和常规功能
- 使用VBA开发EXCEL通用功能
- 创建出色的EXCEL通用功能
- 在单元格中操作文本
- 发现EXCEL新通用功能
关于EXCEL通用功能
一般来说,一个通用功能是用于EXCEL的加强,添加实用功能或使现有功能更加容易使用。EXCEL通用功能不是类似季度报表的成品,更确切地说,它是一个帮你制做成品的工具。一个EXCEL通用功能(几乎总)是以插件的形式提供新功能或应用来加强EXCEL本身。
虽然EXCEL是一个出色的产品,但是许多用户开发出了一系列的他们自己需要的功能并添加到EXCEL中。比如,经常和日期打交道的用户想要开发一个日期弹窗插件用来加快单元格中日期的输入,而又有些用户希望有一个更简单的方式导出一定范围内的数据到一个单独的文件里或直接把一个图表保存成图片文件。这些功能都是目前EXCEL中不存在的,但是你可以通过创建EXCEL通用功能来实现它们。
通用功能不一定都很复杂,有些最实用的功能都非常简单。比如,不知道你注意到没有,EXCEL 2013没有Ribbon命令可以用来在一个工作表中切换分页显示。再比如,如果你不想在工作表中看到那些虚线,你需要花点时间去EXCEL选项对话框中设置隐藏它们。更糟糕的是,你都不能把那个命令添加到Ribbon或快速访问工具栏中。
下面是一个简单的VBA宏,用来切换分页显示:
Sub TogglePageBreaks()
With ActiveSheet
.DisplayPageBreaks = Not .DisplayPageBreaks
End With
End Sub
你可以把这个宏添加到你的个人宏目录里以便可以随时使用,又或者你可能更喜欢把你的通用功能集打包成一个插件。为了快速访问,你可以为你的通用功能宏指定快捷键或右键快捷菜单,又或者把它添加到快速访问工具栏或Ribbon中。
你可以看到,为EXCEL创建通用功能可以使一个出色的产品更出色。
使用VBA开发通用功能
1992年发布的EXCEL 5是第一个包含VBA的版本。当我拿到EXCEL 5的测试版时,VBA的潜力让我感到惊讶。VBA领先EXCEL强大(但隐蔽)的XLM 宏语言太多太多,因此我觉定去探索这个新语言和它的能力。
偿试学习VBA后,我使用VBA作为唯一语言编写了一组EXCEL通用功能。我发现如果我给自己制定一些可行性目标,我可以学的更快些。最终我给我开发的这个产品命名“EXCEL有效工具Pak”,如果你买了本书就能以折扣价购买它(使用此书背面的优惠卷购买此工具)。
从这个项目的最初偿试中我学到了以下几点:
- 一开始掌握VBA可能有些困难,但是随着不断地实践就会变得简单。
- 不断偿试是掌握VBA的关键,我接的每个项目通常都会涉及到一些编码工作,而它们最终成为了一个完成的产品。
- VBA可以让你扩展EXCEL的同时与EXCEL本身的外观及体验保持一致,包括用户工作表功能和对话框窗口。并且,即使你不想涉及VBA,你仍然可以在应用程序打开时编写XML代码去自动地个性化Ribbon。
- EXCEL几乎可以做任何事。当你陷入绝境时,你仍然有机会通过其它途径找到解决方案,尤其是当你富有创造性并知道去哪里寻找帮助。
一些其它的软件包也会有非常全面的工具支持用户去扩展EXCEL。