基于Excel和VBA的企业数据管理应用实例

时间:2022-05-29 12:59:06

基于Excel和VBA的企业数据管理应用实例

摘要:Excel作为一种电子表格软件,具有非常强大的数据处理功能。VBA是Microsoft Office的内置编程语言,具有与Visual Basic相同的语言功能,可以用来扩展Microsoft Office软件的应用程序功能。该文将Excel和VBA语言有机结合,利用其对企业中的数据进行相应分析和提取,从而使数据管理更加快捷、方便。

关键词:Excel;VBA语言;企业;数据管理

中图分类号:TP274文献标识码:A文章编号:1009-3044(2012) 04-0760-04

The Application of Business’Data Management Based on Excel and VBA

WANG Li

(Center of Computing and Experimenting, South-central University for Nationalities, Wuhan 430074, China)

Abstract: As a kind of electronic forms software, Excel has powerful functions on data processing. Being a built-in programming language of Microsoft Office, VBA has the same language function as Visual Basic and can exclude applied program of Microsoft Office. Through the integration of Excel and Language VBA, the paper introduces how to analyze and extract data on enterprise sales, which makes data management quicker and more convenient.

Key words: Excel; language VBA; business; data management

1概述

随着计算机科学技术的日益成熟,计算机及其应用已经渗透到社会的各个领域,尤其是计算机在企业管理中的应用,大大提高了企业的管理水平和工作效率。

Excel是Microsoft office的组件之一,是一个功能完备、技术先进和使用方便的电子表格软件,它具有灵活的表格编辑和完善的管理功能,形式多样的格式设置和丰富多彩的图表功能。利用Excel,我们不仅能够直观、快捷、方便地输入和管理各种各样表格形式的数据,还能对数据进行分析、统计和处理,并辅助我们做出相关决策[1]。

VBA是Visual Basic for Application的简称,是一种可视化的、面向对象的结构化高级程序设计语言,具有和Visual Basic相同的语言功能,主要用来扩展Microsoft Office软件的应用程序功能。利用VBA来编制程序,嵌人到Excel中,可以创建自定义的解决方案,实现一些复杂数据管理的自动处理[2,3]。所以,将Excel和VBA语言相结合,可以让Excel的功能更加强大,使之在经济、管理、工程等各个领域都能得到广泛的应用。本文现以Excel 2003为操作平台,介绍如何在Excel中嵌入VBA程序,进行企业销售中一些数据管理的自动处理。

2数据源的导入

任何销售都必须有数据,因此数据资料的建立是管理的第一步。目前,绝大多数企业都采用了利用计算机系统来管理销售数据,为企业进行数据分析时所需的数据获取提供了方便、快捷的方式,提高了工作效率。

在本案例中,数据源的获取是从外部导入的。其操作步骤为:

步骤一:打开Excel软件,单击菜单栏中的“数据”命令,在弹出的下拉菜单中单击“导入外部数据”中的“导入数据”选项。

步骤二:在弹出的“选取数据源”对话框中,选取所需要的数据源,单击“打开”按钮,即可导入所需要的数据源表。

由于导入的数据源表行数非常多,这里图1只显示最前面的部分数据。

在该表中,SERIAL_NUMBER字段代表用户手机号码,ITEM_NAME字段代表话费使用项目类型,CYC_ID字段代表通话月份,FEE字段代表产生的费用。

3数据管理

在获得了需要的数据源后,就可以根据要求进行数据处理了。本案例中所要做的操作,就是将每个手机号码的话费细分到不

同的项目上,并将每个月的话费按照手机号码进行汇总,以便后期进行更具体的讨论和分析。

3.1数据排序

图1导入的数据源表的部分数据

由于该数据是从服务器里获取的,导入的数据没有规律,为了数据的显示能够有序一些,可以先通过Excel将数据重新排一下序。其操作步骤为:

步骤一:用鼠标选取数据清单中的任意一个单元格,再单击菜单栏中的“数据”命令,在弹出的下拉菜单中单击“排序”选项。

步骤二:在弹出的“排序”对话框中,将主要关键字设置为SERIAL_NUMBER,次要关键字设置为CYC_ID,第三关键字设置为ITEM_NAME,所有关键字均为升序排列。单击“确定”按钮,原数据就会按照要求重新排列。

3.2数据提取的自动处理

将源数据排好序后,接下来需要做的,是根据源数据的内容,按月份分别统计每个手机号码的各项费用支出情况。也就是根据“源数据”工作表的内容,将FEE字段的值分别根据手机号码、话费类型、通话月份,依次填充到如图2所示的其后若干张工作表的相应单元格中。

图2需要进行FEE字段填充的目标工作表

就Excel本身而言,没有任何好的方法快速实现上面的操作,如果采用手工录入方式的话,不仅效率极低,而且非常容易出错,这里最好的办法就是利用VBA程序。所以“源数据”表中FEE字段值在后面工作表中的填充,是借助VBA语言编写程序实现的。程序代码如下:

Sub Data_Input()

Dim L, I, R, S As Integer’L表示"源数据"表的第L行,I表示选取第I张表,’R表示第I张表的行号,S表示第I张表的列号

Dim A As long’A为"源数据"表的SERIAL_NUMBER列

Dim B, C As String’B为"源数据"表的ITEM_NAME列,C为CYC_ID列

Dim D As Double’D为"源数据"表的FEE列

For L = 2 To 65536

Sheets(1).Select

A = Sheets(1).Cells(L, 1)

B = Sheets(1).Cells(L, 2)

C = Sheets(1).Cells(L, 3)

D = Sheets(1).Cells(L, 4)

’根据CYC_ID字段的内容来选取FEE字段的填充表

Select Case C

Case "201006"

I = 2

Case "201007"

I = 3

Case "201008"

I = 4

Case "201009"

I = 5

Case "201010"

I = 6

Case "201011"

I = 7

Case "201012"

I = 8

Case "201101"

I = 9

Case "201102"

I = 10

Case "201103"

I = 11

Case "201104"

I = 12

Case "201105"

I = 13

Case "201106"

I = 14

End Select

Sheets(I).Select

’根据SERIAL_NUMBER字段的内容来选取FEE字段的填充行

R = 2

Do While Sheet(I).Cells(R, 3) A

R = R + 1

Loop

’根据ITEM_NAME字段的内容来选取FEE字段的填充列

S = 4

Do While Sheets(I).Cells(R, S) B

S = S + 1

Loop

Sheets(I).Cells(R, S) = Sheets(I).Cells(R,S)+D

Next

End Sub

当利用VBA程序将如图1所示的表变成如图2所示的表后,不论是企业人员还是用户自己,都可以非常直观地看到自己的话费明细情况。而企业人员更可以根据明细的内容,辅助做一些后续的销售决策。

3.3数据透视表

除此之外,还需要将每个月的话费按照手机号码进行汇总,这里可以通过数据透视表来实现。其操作步骤为:

步骤一:用鼠标选取数据清单中的任意一个单元格,再单击菜单栏中的“数据”命令,在弹出的下拉菜单中单击“数据透视表和数据透视图”选项。

步骤二:在弹出的“数据透视表和数据透视图向导”对话框里,按照向导一步步操作,依次单击“下一步”按钮,最后单击“完成”按钮,进入数据透视表视图环境。

步骤三:从“数据透视表字段列表”中,将“SERIAL_NUMBER”拖至行字段处,将“CYC_ID”拖至列字段处,将“FEE”拖至数据项处,即可创建数据透视表。创建的数据透视表如图3所示。

3.4数据保护

同时,为了防止对表中数据的误操作和未经授权的人修改数据,还可以对整个工作表或工作表中的某些单元格数据实施保护。在本案例中,将对整个工作表进行保护,其操作步骤为:

步骤一:选中工作表的所有单元格,再单击菜单栏中的“格式”命令,在弹出的下拉菜单中单击“单元格”选项。

图3根据源数据生成的数据透视表

步骤二:在弹出的“单元格格式”对话框里,单击“保护”标签,选择“锁定”选项即可锁定单元格的内容。

步骤三:对上述被锁定单元格的保护,只有在对该工作表实施保护以后才生效。这里选择“工具”菜单中的“保护”命令,在子菜单中选择“保护工作表”命令。

步骤四:在弹出的“保护工作表”对话框中,输入并确定密码,这样就只有知道密码的人才可以修改工作表中被锁定的数据。

4结束语

Excel可以执行计算,分析信息并管理电子表格或网页中的数据信息,VBA是一种主要用来扩展Microsoft Office软件的应用程序功能的自动化语言。将Excel和VBA结合起来,可以实现数据管理的自动处理,使得表格数据的处理更加简单、方便,并在极大程度上提高企业数据管理的效率。

参考文献:

[1]王斌,吴磊.中文版Excel 2003实用教程[M].北京:清华大学出版社,2007.

[2] John Walkenbach. Excel 2003高级VBA编程宝典[M].盖江南,王勇,等,译.北京:电子工业出版社,2005.

[3]许小荣,夏跃伟,高翔.Excel VBA语法与应用手册[M].北京:电子工业出版社,2010.

上一篇:基于ASP.NET的班级管理系统的设计与实现 下一篇:AHP在高校师生信息素养评价体系中的应用