基于Excel 2003环境下的账务与报表会计信息系统的设计方案

  • 格式:doc
  • 大小:544.00 KB
  • 文档页数:5

基于Excel2003环境下的账务与报表会计信息系统的设
计方案
[摘要]本文以Excel 2003环境为基础,给出了账务与报表会计信息系统中的总分类账、损益表以及资产负债表等信息自动生成的VBA程序实现方法。

这对于刚刚起步的中小企业实现会计信息化,具有很好的参考价值。

[关键词]Excel 2003;账务与报表会计信息系统;设计方案
一、凭证数据的准备、总账科目、各报表项目的初始化
我们要实现的是:一个小公司的账务与报表会计信息系统,即:在给定凭证数据和总账会计科目的期初数据的前提下,如何自动生成总分类账、资产负债表以及损益表。

实现初始化的步骤如下:
1. 创建凭证工作表
进入Excel,单击“文件”菜单,再单击“新建”命令,创建一个新工作簿。

在工作表sheet1上建立凭证工作表,方法是单击工作表标签sheet1,进入工作表sheet1,输入数据如表1所示,用鼠标双击工作表标签,改名为“凭证”。

2. 创建总分类账工作表
在工作表sheet2上建立总账工作表,方法是单击工作表标签sheet2,进入工作表sheet2,设置初始数据如表2中的A、B、C三列所示,D、E、F由第二节中的sczz()程序自动生成,用鼠标双击工作表sheet2标签,改名为“总账”。

3. 创建损益表工作表
单击工作表标签sheet3,进入工作表sheet3,设置数据如表3所示,A列为设置的汉字项目,B列由第三节中的sysc()的程序自动生成,用鼠标双击工作表sheet3标签,改名为“损益表”。

4. 创建资产负债表工作表
单击工作表标签sheet4,进入工作表sheet4,用鼠标双击工作表sheet4标签,改名为“资产负债表”。

资产负债表项目的设置,因项目太多,此处略。

二、总账数据自动生成的VBA程序实现方法
为了实现总账数据的自动生成,编制VBA代码如下:
Sub sczz()
Dim zb(21), pj(21), pd(21) As Double
Sheets(“总账”).Select
For i = 1 To 21
zb(i) = Range(“a3”).Offset(i - 1, 0)
Next i
Sheets(“凭证”).Select
For i = 1 To 21
pj(i) = Application. Sum If(Range(“c:c”),zb(i), Range(“e:e”)) pd(i) = Application. Sum If(Range(“c:c”), zb(i), Range(“f:f”)) Next i
Sheets(“总账”).Select
For i = 1 To 21
Range(“d3”).Offset(i - 1, 0) = pj(i)
Range(“e3”).Offset(i - 1, 0) = pd(i)
Range(“f3”).Offset(i - 1, 0) = Range(“c3”).O ffset
(i - 1, 0) + pj(i) - pd(i)
Next i
End Sub
三、损益表数据自动生成的VBA程序实现方法
为了实现损益表数据的自动生成,按照手工编制损益表的思路,编制VBA程序如下:
Sub sysc()
Dim bl(17) As Double
Sheets(“总账”).Select
bl(4) = Application.SumIf(Range(“a:a”), 501, Range(“e:e”))
bl(5) = Appli cation.SumIf(Range(“a:a”), 502, Range(“d:d”))
bl(6) = Application.SumIf(Range(“a:a”), 503, Range(“d:d”))
bl(7) = Application.SumIf(Range(“a:a”), 504, Range(“d:d”))
bl(8) = bl(4) - bl(5) - bl(6) - bl(7)
bl(9) = Application.SumIf(Range(“a:a”), 511, Range(“d:d”))
bl(10) = Application.SumIf(Range(“a:a”), 512, Range(“d:d”))
bl(11) = bl(8) - bl(9) - bl(10)
bl(15) = bl(11)
bl(16) = Application.SumIf(Range(“a:a”), 535, Range(“d:d”))
bl(17) = b15 - b16
Sheets(“损益表”).Select
Range(“b4”) = bl(4)
Range(“b5”) = bl(5)
Range(“b6”) = bl(6)
Range(“b7”) = bl(7)
Range(“b8”) = bl(8)
Range(“b9”) = bl(9)
Range(“b10”) = bl(10)
Range(“b11”) = bl(11)
Range(“b15”) = bl(11)
Range(“b16”) = bl(16)
Range(“b17”) = Range(“b15”) - Range(“b16”)
End Sub
四、资产负债表数据自动生成的VBA程序实现方法
资产负债表数据的自动生成程序很复杂,这里以其中的货币资金的期末数为例,来说明资产负债表中的年初数、期末数数据的自动生成程序是如何实现的,其他项目的处理类似。程序代码如下:
Sub zfsc()
Sheets(“资产负债表”).Select
Range(“b4”) = Application.SumIf(Range(“总账!a3:a10”),“120”,Range(“总账!c3:c8”))
Range(“c8”) = Application.SumIf(Range(“总账!a3:a8”),“>120”, Range(“总账!f3:f8”))
End sub。