VBA在Excel中的应用

2015-04-30 13:11朱俭等
软件导刊 2015年4期

朱俭等

摘要摘要:Excel 是微软公司Office 集成办公软件重要组件之一,应用广泛。在Excel中引入VBA,运用其内嵌的VBA对Excel进行再开发,不仅可以提高工作效率,自动处理重复繁琐的工作,并且不会改变原软件的操作方式与功能。介绍了VBA在Excel中的开发优势、开发环境、开发过程及应用领域。

关键词关键词:ExcelVBA;Excel开发;VBA应用

0引言

财务软件的应用显著提高了工作效率,大大减轻了财务人员的工作强度,这得益于财务软件实现了数据录入、处理与输出一体化。然而,在详细处理数据方面,财务软件的部分功能与当下的管理工作要求依旧脱节。基于此,Excel在财务处理中广泛应用,其人性化的功能设计与灵活的操作填补了普通会计软件的不足[1]。然而,Excel也有其自身缺点:由于每个操作都要人工完成,对于重复性的工作,难免会造成繁重的工作与冗余。

利用VBA对Excel进行二次开发,即将重复操作编程运行,可以有效避免多次人为操作带来的失误,显著提高工作效率与质量。

1VBA应用

1.1VBA介绍

VBA全称Visual Basic For Applications,是Visual Basic的一部分,是在某些应用程序中内置的编程语言[2]。与Visual Basic不同的是,VBA需要一个应用程序作为载体才能运行,而VB则可以创建独立的应用程序。VBA通过自定义程序,将宿主应用程序的某些操作自动化,为解决重复操作问题提供了一个良好方案。

1.2Excel VBA

一般来说,VBA是内嵌在Office中,增强Office软件使用功能的程序语言。如今,VBA应用已经逐步涉及到Word(WordBasic)、Excel(ExcelBasic)、Access(AccessBasic)和PowerPoint(PowerPointBasic),并且在Outlook中也开发了Visual Basic Scripting Edition语言,这些语言统称为VB for Application。

利用VBA在Excel中编写相应的语言,可创建数据处理方案,对数据进行详细处理和系统分析。Excel软件中既有的功能操作,包括数据录入界面、工作表的基本操作等可以直接使用。

2VBA在Excel中的应用优势

基于VBA功能实现Word中的应用,可实现以下功能:①创建报表。实时报表的编写方法虽然众多,但是程序步骤相当繁琐,报表功能也受到很多限制。通过应用VBA的编写程序,报表的生成会方便很多[3];②对数据进行复杂的操作和分析。各单位工资表的处理既重要又繁琐,如果使用VBA程序对Excel功能进行拓展,编写个人所得税税款计算程序,就会减少会计人员的录入与核对工作量,提高Excel的利用效率和空间;③使重复工作自动化。例如:教师在判断学生成绩等级时,不需要重复比对成绩与等级之间的换算,只需输入下面的代码即可:

VBA内嵌Excel优势如下:

(1)Excel作为Office中运用较为广泛的一款软件,其本身功能全面,兼有数据编辑、处理与文件打印等,使用者能够轻松掌握Excel的基本操作方法与功能运用,VBA的加入显著提高了财务工作效率。

(2)除了上述功能外,Excel内涵大量数据运算与函数分析程序, VBA内嵌后将更有助于提高数据处理效率。

(3)VBA的内嵌操作可在多个数据库之间交换运用,利于数据的沟通与交流。同时,VBA简单的操作方法容易掌握,利于推广普及。如果利用其它程序编写语言,通常都需要搭建好基本的功能操作例如数据的导入、处理与导出等,而以Excel为载体的VBA开发,则因为Excel本身已经具备的基本操作,大大节省了开发时间,提高了工作效率。

3ExcelVBA开发

3.1开发环境

在Office按钮中,选择Excel选项,在常用选项下选中“在功能中显示‘开发工具选项卡”,或者按快捷键Alt+F11即可进入。

安全性设置:在信任中心中,选择信任中心设置,启用所有宏。

3.2VBE应用

进入VBE编辑器后,就能编写有关低界面后程序。VBE编辑器主要包括以下内容:①代码窗口。编写及查看VBA代码;②对象窗口。设定窗体界面(如果使用了窗体的话),设定窗体各个控件布局;③对象浏览器。查看所有对象库、特定对象或工程,包括所有的对象列表及每个对象的成员列表;④工程资源管理器。管理工程中的模块、类模块与窗体,可以很容易地在代码与对象之间切换;⑤属性窗口。可设定很多对象相关属性,简单到只要用鼠标选择即可;⑥工具箱。在插入窗体后,可以从工具箱添加各种控件;⑦立即窗口。其主要工作是:在开发过程中,用Debug.Print输出的内容就在此显示;当代码是Break模式时,查看对象和变量的状态。

3.3开发过程

在开发具体业务程序时,需要考虑以下问题:①使用者,决定了程序的操作难度及界面感观;②数据来源和保存地方,决定了程序的结构;③如何操作,将决定程序的界面和细节;④数据处理结果,最终决定程序的价值。

4VBA应用领域实例

以基于ExcelVBA的自动阅卷反馈系统为例。

传统的计算机技能操作考试首先是由教师在计算机上提供试题文本和素材文件,然后由学生上机操作答题,最后由教师一一阅卷评分,这种考试方式存在组织时间长、耗费人力物力多等不足。Excel软件使用是计算机课程最重要的实验教学环节之一,在Excel实验系统和考试系统中实现自动阅卷,对提高学生学习效果和减轻教师工作量都有很大帮助[4]。

Excel有一些操作,答案并不唯一,如果不进行适当的处理,很容易出现误判、漏判。解决这个问题的思路是:预先创建一个数据库,记录下本次需要批阅的所有考核项目、考核区域、考核知识点等信息,再做好试卷的标准答案。批阅时按数据库中的批阅项目将学生解答与标准答案进行比对,从而判断解答的对错。目前许多开发工具都可以针对Excel进行操作。但Excel和其它Office软件都自带了一个开发环境,在此环境中开发完全可以满足本项目要求,而且Excel所提供的宏录制功能可以一字不改地将录制的代码移植到程序中,便于对象和属性获得以及代码编制,调试程序时也免除了在多个软件中来回切换。另外,本项目使用的数据量很小。Excel本身就是一个数据库软件,完全可以存放批阅所需的数据。批阅结果的输出可以存放在其它数据库中,但查看不方便,软件移植性差。程序中采用Excel工作表存放批阅结果数据,师生可以很方便地利用Excel所提供的筛选、分类汇总、数据透视表等强大的数据统计功能了解批阅结果。具体如下:

启动Excel批阅程序,打开【Excel批阅】对话框。设置班级、标准文档(即试卷名)、学生作业文档目录。点击【开始批阅】按钮后,自动批阅试卷中的所有学生文档。程序先打开本试卷的标准解答文档,再遍历所有学生作业文档并进行批阅。主要代码如下:

5结语

Excel 功能强大、技术先进、使用方便,用于输入输出数据,能对数据进行各种复杂统计运算。Excel广泛应用于多个领域。在Excel中引入VBA 之后,其功能明显增强,运用其内嵌的VBA对Excel进行再开发,可以自动处理重复繁琐的工作,提高工作效率,并且不会改变原软件的操作方式与功能设置。

参考文献参考文献:

[1]陈静. VBA 对Excel 功能扩展的应用[J].北京卫生学校学报, 2012(1):15.

[2]刘静. VBA在Excel中的应用[J]. 计算机与网络, 2009 (8): 544545.

[3]王靖, 王林, 周金文. 用ExcelVBA方法实现报表自动生成[J]. 电力科学与工程, 2009, 25(1): 7375.

[4]林海宁. 基于VBA 技术的Excel 自动评阅系统[J].宁德财经学校学报, 2012(1):13.

责任编辑(责任编辑:杜能钢)