实验报告课程名称管理信息系统实验项目名称会计业务的EXCEL设计与实现班级与班级代码财务管理3班实验室名称(或课室)专业:财务管理任课教师:林韩辉学号:08250202308姓名:陈景玲实验日期:2011年4月23日广东商学院教务处制姓名陈景玲实验报告成绩评语:指导教师(签名)年月日说明:指导教师评分后,实验报告交院(系)办公室保存。管理信息系统实验报告一、实验目的熟悉Excel的基本操作,掌握利用Excel进行数据处理的主要方法以及VBA编程方式。二、实验原理管理信息系统分析方法、工具、模型等。三、实验设备计算机、Excel等。四、实验报告正文(一)数据准备1、要在Excel里进行VBA程序的编写、编译与运行,你首先碰到了一个什么问题?请用图示方式写出解决的方法(即宏的安全性设置)。答:刚打开实验用的EXCEL表,就弹出一个对话框。此时,应该把宏的安全性设置到最低。具体操作如下:工具→宏→安全性→安全级选“低”(如下图1)所示→可靠发行商(选中“信任对VBA项目的访问”复选框,如下图2所示)→确定。把宏的安全性设置为最低,允许对VBA项目的访问,我们才可以顺利进行这项实验。另外,如果按照以上步骤设置了宏,但表格毫无反应,应关闭EXCEL表格,再重新打开。2、描述你的Excel文件初始数据(凭证/总帐/损益表/资产负债表)是如何建立和修正的?答:a.总账首先,先把实验资料中提供的初始格式复制过去。然后大概操作与下面的几个表相同。b.损益表1.在操作损益表的VBA自动程序生成时,发现实验资料的所写的程序中行数的序号与EXCEL的有差别,所以,先把整个程序拷贝到宏的VBA编写器的模块3中,删掉多余的序号行和列,然后把所有行数减1.例如:把bl(4)=Application.SumIf(Range(a:a),501,Range(e:e))中的“4”变成“3”,以此类推,则bl(8)=bl(4)-bl(5)-bl(6)-bl(7)也要变成bl(7)=bl(3)-bl(4)-bl(5)-bl(6).修改完后运行,就可以得出损益表的“本月数”。同理,损益表“累计数”的操作和“本月数”的操作基本相同。但还需要把“b”替换成“c”.运行即可。2.在操作损益表单元格式生成时,主要是把公式复制粘贴到每一个单元格里。但仍然有问题需要注意的是:把“=b4-b5-b6-b7”改为“=B3-B4-B5-B6”。所有涉及到序号的都要减1.这样才能得到一张完整规范的损益表。C.资产负债表1在资产负债表单元格生成时,为了方便,我直接把公式复制到每一个单元格,发现有些公式显示错误,结果无法显示。经过仔细检查,发现是格式问题。所以直接自己输入公式,这才显示正确的结果。2、在资产负债表VBA自动程序生成时,由于实验资料所给的程序不全,需要自己补充完整。于是我开始自己尝试着摸索。发现只要理解了每一个会计科目,就可以很容易编写程序。例如:应收账款净额=应收账款-坏账准备。由于“坏账准备”前面已经有了负号,所以正确的程序应该是:Range(b7)=Application.SumIf(Range(总帐!a5:a9),121,Range(总帐!c5:c9))Range(c7)=Application.SumIf(Range(总帐!a5:a9),121,Range(总帐!f5:f9))再如比较复杂的是未分配利润。它等于所给的费用类科目和营业收入、营业成本等加总。所以正确的程序应该是:Range(e15)=-Application.SumIf(Range(总帐!a14:a23),321,Range(总帐!c14:c23))Range(f15)=-Application.SumIf(Range(总帐!a14:a23),321,Range(总帐!f14:f23))。(二)设计实现1、举例(用总帐、损益表或资产负债表)说明单元格生成方式中,主要公式所代表的含义。以损益表中的公式为例:①“营业收入”=sumif(总账!a:a,=501,总账!e:e),即“营业收入”取自总账501科目,本期数取贷方合计数。②“营业成本”=sumif(总账!a:a,=502,总账!d:d),即“营业成本”取自总账502科目,本期数取借方合计数。③“经营利润”=b3-b4-b5-b6,即等于营业收入-营业成本-营业费用-营业税金及附加。④“营业利润”=b7-b8-b9,即营业利润等于经营利润扣除了财务费用和管理费用后的所得。2、用图示方式写出VBA编程方式的操作过程,配以适当的文字说明。①打开EXCEL表,单击工具栏,选择“宏”命令,在下级菜单中选择“visualBasic编辑器(v)”,如下图所示:②先在左侧的菜单栏中点击“sheet4损益表”,然后再单击下面的“模块”,插入模块,然后打开模块的对话框,输入VBA程序。3、VBA编程的编译调试和运行过程中,你遇到了哪些问题(包括常见的和容易被忽视的),你是如何解决的?①在运行VBA程序时,运行了程序,但是EXCEL表毫无反应。这时,应该关闭该EXCEL表,再重新打开就可以了。这是最常见的问题。②在模块中输完程序时,突然会弹出一个对话框,显示说下标边界错误之类的,这是因为你编写的程序不对,关闭之后系统会自动在程序错误的地方用黄色暗底显示。此时,你可以检查一下程序并改进程序就可以了。③在输入完程序时,运行也正常。然后打开EXCEL表看结果时,发现全都显示为“0”,这也是程序编写得不正确多导致的。解决方法仍然是要改进程序。(三)分析比较1、尝试对会计业务数据的手工处理、单元格(公式)生成以及VBA编程方式的优缺点进行分析比较(也可结合速达3000或者用友ERP系统展开分析)。在手工处理、单元格(公式)生成VBA编程三种方式中:①手工处理:是指在手工记账的情况下,会计凭证设置、会计账簿组织、会计报表编制及其相互结合的方式。其优点是方式比较原始,也是最简单易学的。但其缺点是效率低、不灵活。如果信息量非常大的情况下,手工输入是非常麻烦的。例如输入一些总帐的初始数据时,仍然是需要手工输入的。②单元格(公式)生成:相比手工输入,单元格(公式)生成方式相当于半手工的输入,是比较方便的。只需要录入公式,系统就会自动计算出结果。其优点是效率相对较高。其缺点是当数据量非常庞大时,输入公式就会非常耗时。例如在做损益表的单元格式生成时,分别在每个单元格输入相应的公式。当你要输入特别多的单元格时,你就会非常累了。④VBA编程方式生成:这是最简便的一种方式。VBA程序编程是通过写程序代码自动生成你想要的数据。其优点是:效率相当高,简便,不易出错。其缺点是写程序比较难,需要同时掌握好相关的财务会计知识和程序知识。在输入资产负债表的程序时,也花了很多时间去研究程序代表的是什么意思,然后才根据原理去编写程序。2、实验体会与心得。我采用手工输入、单元格生成操作、VBA程序自动生成三种功能方式,分别实现总账、损益表、资产负债表等业务管理。体会到了三种不同方式完成会计数据处理的不同之处,相比之下,VBA程序自动生成方式是最方便的最有效率的方式,当然,它需要一定的财务知识和程序知识。程序代码的编写一向都是比较复杂的,但只要用心去学,弄懂了原理,就能运用起来得心应手。同时,在实验过程中,还有另一番体会。一、做实验要认真、细心。一开始看到VBA,看到是写程序,都会有先入为主的观念,觉得它很难。例如,刚开始并不会VBA程序的生成。于是我先把三个表的单元格公式生成做完。往每个单元格输入相应的公式。但是明明只是简单地把公式复制过来,仍然是没有我想要的结果,后来检查发现只是最基本的问题。公式中的符号不是英文状态下输入的,还有“总帐”和“总账”的不同。由于我的不细心,导致了很多不必要的麻烦。二、要学会主动思考,自主解决问题。。在做VBA程序生成时,“总帐”和“损益表”这两张所给的程序都是完整的。但“资产负债表”的VBA程序却只给了几条,不完整。没有完成的程序是无法完成实验的。于是我认真看实验资料的讲解,慢慢摸索,花了几乎一个上午的时间才把“资产负债表”的程序正确地完成。虽然由于我的不熟练,所花费的时间比较多,但因为是自己主动思考,自主完成,所以我非常有成就感。