首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一起学Excel专业开发02:专家眼中的Excel及其用户

一起学Excel专业开发02:专家眼中的Excel及其用户

作者头像
fanjy
发布2019-07-19 14:47:20
4.2K0
发布2019-07-19 14:47:20
举报
文章被收录于专栏:完美Excel完美Excel

学习Excel技术,关注微信公众号:

excelperfect

对于大多数人来说,使用Excel来做的工作就是在单元格中输入数据,进行一些格式化制作成报表输出,在这个过程中,可能会使用一些公式,可能会使用图表展现数据,也可能会使用VBA进行一些自动化数据处理工作。

然而,越深入地使用Excel,会越多地了解Excel,就会发现Excel不仅仅这些,特别是看到精心设计制作的、清新的工作表,看到认为是专业的程序软件开发的作品而实际上就是Excel时,会彻底颠覆你对Excel的认识。其实,就如Excel一样,眼前经常用的就是最强大的,只是你没有认识到,没有认真研究而了解她,没有将她发挥到极致的想法。

在专家眼中,Excel不只是普通的电子表格程序,更是能力非凡的应用程序开发平台。在专家眼中,Excel已经为我们的应用需求构建了完整丰富的基础,Excel中的任何部分都是作为程序组件或元素来对待的,只等着我们充分运用她们来扩展Excel的能力,方便地满足多种多样的需求,而无须从头开始。

1. 工作表:用于展示

在日常工作中,我们会很自然地在工作表单元格中输入数据,进行数据分析和处理,制作报表输出,这是我们通常的做法。Excel丰富的内置功能,已让我们的这种做法非常容易。

我们需要进一步做的是提高电子表格界面设计能力,灵活熟练地运用Excel提供的功能,充分发挥并拓展Excel所提供的功能,在工作表中添加一些结构,使其变为一个简单易用的用户界面。例如,下图1所示的工作表,充分利用Excel自身的功能设计出了功能强大的用户接口。

图1

这里使用了格式设置、名称、样式、单元格批注、数据验证、条件格式等常用技术,创建了清晰的界面,提供了级联列表、数据检验、动态显示、错误提示等功能。简单直观,引导用户正确完成输入数据的填报工作。

2. 工作表:用于程序数据的存储

在程序代码中,在程序代码处理中,经常要用到一些数据,而工作表就是一个天然的数据存放地,我们可以在工作表单元格中存放数字、文本、表格或图片,供程序使用,而VBA程序代码可以方便地访问这些数据。同时,修改维护这些数据也非常简单。

例如下图2所示,创建工作表数据驱动的用户窗体。

图2

这里的向导2中列表框项目数据读取的是工作表中列A中的数据,在向导2中选取“Client Detail”后,向导3中会出现该指定项报表的选项,并读取工作表中相应单元格中的数据作为其复选框选项。用户窗体根据用户的选择读取工作表中的相应数据,并动态添加相应的控件,使用户窗体更加灵活且功能更强大。

3. 工作表:一种声明式编程语言

我们用程序员的眼光来看Excel工作表,单元格存放着变量的值,单元格地址就是变量,公式或函数就是语句,通过引用单元格来获取或者计算得到相应的值。

也就是说,我们可以将Excel工作表公式当作是一种编程语言。IF函数可以等同于条件语句,Excel中的循环引用和迭代计算等功能的巧妙运用,可以等价实现循环结构语句。

Excel工作表就是一个实时的语言编辑器,在工作表单元格中输入数据和公式后,Excel实时给出结果,并根据公式所依赖的单元格的变化实时更新数据。

Excel更擅长数字计算,VBA擅长通用的编程,将两者合理结合运用,可以开发出高效的应用程序。

4. VBA与用户窗体

VBA是一种专业的编程语言,内嵌于Excel中。在Excel提供的VBA语言专业编辑器(VBE)中,不仅可以使用VBA来充分Excel发挥更大的优势和威力,而且可以利用用户窗体设计专业的交互界面,扩展Excel的能力。《Excel专业开发(第2版)》中的主要内容就是讲解VBA高级技术及应用程序设计和开发的专业方法的,有兴趣的可以与我一起解读这本书,提升编程实用技能。

5. Excel对象模型

我们在Excel中进行的各种操作,实际上是对相应对象的操作,例如常用的单元格操作,包括在单元格中输入数据、设置格式等,就是对单元格对象的操作。Excel中对象经过层层组织,构成了Excel对象层次模型,其层次结构如下图3所示。

图3

Application对象代表Excel应用程序本身,有一个工作簿集合对象(Workbooks集合对象),包含所有打开的工作簿对象(Workbook对象),而每个Workbook对象有一个工作表集合对象(Worksheets集合对象),包含工作簿里所有的工作表对象(Worksheet对象),而每个Worksheet对象又包含单元格区域对象(Range对象)。

通过对象模型,我们可以编程实现几乎所有在Excel工作表界面中能够完成的功能。而这些对象丰富的属性、方法和事件可以使得一些非常复杂的应用程序开发变得相当简单,开发者重点要考虑的是何时及如何将各种功能有效地组合在一起,而不是重新开发这些功能。

以上,就是Excel为我们编程开发提供的基本组件。

那么,专家眼中的Excel用户是怎么分的呢?根据使用Excel与VBA的经验和所掌握知识的程度,可以把Excel用户分为五类。

1.Excel初级用户:将Excel工作表当做存放数据、报表或进行简单计算的工具,并且随着Excel使用经验的增加,其工作簿也会变复杂,会包含大量的工作表公式与函数、图表和数据透视表等。

2.Excel高级用户:熟悉Excel的各种功能,知道在何种情况下使用何种功能,能够根据需要创建复杂的工作表,能够解决工作表使用过程中遇到的问题,会使用VBA但并不专业。

3.VBA开发人员:精通VBA,在其工作簿中广泛使用VBA代码,相信所有问题都能用VBA解决,但因为对Excel缺乏充分的了解,所以不能很好地利用Excel的特性。在判断何时使用Excel解决问题,何时使用VBA解决问题,以及何时将两者结合来解决问题时,缺乏经验。

4.Excel开发人员:利用大部分Excel内置功能并适当加入VBA代码是他们解决问题的常用方式,但不愿意使用其他语言或编程工具来改进自已的Excel解决方案。

5.专业Excel开发人员:能够设计和开发各种基于Excel的应用程序,以Excel为核心,根据情况灵活地使用各种应用程序和编程语言,包括第三方ActiveX控件、Office自动化技术、Windows API调用、外部数据库以及各种独立编程语言和XML技术等,所开发的程序高效、易用,具有很好的健壮性、可维护性和安全可靠性。

你属于哪一类?

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档