基于Excel VBA的通用财务自动登账系统的设计

来源 :中国管理信息化 | 被引量 : 0次 | 上传用户:firemourne
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  (中国劳动关系学院经济管理系,北京100037)
  
  [摘 要] 在财务工作中,利用Excel函数多重嵌套方法可以进行账务处理,但自动化程度低,数据保密性差。本文给出了一个在Excel平台下利用VBA技术编制的通用自动化登账程序。
  [关键词] Excel VBA;财务;自动登账
  [中图分类号]F232[文献标识码]A[文章编号]1673-0194(2008)22-0007-04
  
  
  1 系统目标
  
  系统的目标决定于会计管理的要求,并受会计人员和计算机人员的素质以及硬件和软件计算机资源的制约,还受其他经济业务系统的影响。
  一般来说,账务自动登账系统的目标,可以表述为以记账凭证为原始数据,按照设计的账户体系和系统指标体系,完成全部的分类核算。其具体要求是:能输入系统核算所需资料,主要指利用各种记账凭证进行数据输入;能根据数据资料进行分类核算,随机输出总分类账;能随机输出某个时期任意分类核算的详细信息,即能随机输出任意会计科目的明细账;能够根据需要随机输出会计报表,包括对外报表和其他内部管理需要的报表资料。
  本文中把企业能根据需要随机输出各科目的明细账和总账作为程序设计目标。
  
  2 系统文件设计
  
  为了保存数据以及输出账簿及其他内部管理所用会计信息,同时为了系统扩展的需要,本系统需要在Excel中建立各种表格文件,具体情况如下:
  2. 1科目代码表(kmdmb)
  该表主要存储企业科目代码信息,通常情况下包括科目代码、科目名称、是否明细、科目类型、科目级别。文件结构及示例如表1所示。
  
  2. 3账簿表
  该文件用于保存总账和明细账输出的内容格式。文件为临时文件,建账时只需要建立表的结构。另外,在采用计算机进行会计核算时,不单独设置现金和银行存款日记账,而是将这两个科目的核算与其他科目采用同样的方法处理,当需要输出现金或银行存款日记账时,可以利用该账文件结构。该文件结构及示例如表5所示。
  2. 4科目发生额及余额表
  该文件用于存储企业全部会计科目的发生额和余额等数据,由各月数据的会计凭证数据按照科目逐级汇总形成。具体结构及示例如表3所示。
  
  3 登账程序设计
  
  3. 1登账数据处理过程
  登账实际上是根据会计科目反映的经济业务发生的时间顺序逐日逐笔进行分类汇总,采用计算机核算以后,由于系统已经建立了明细账文件的数据结构,当用户需要输出某科目的明细账时,可以通过在凭证号文件和凭证内容文件中选择该科目的发生业务进行输出即可。
  如某科目某会计期间所需数据基本处理过程如下:①打开期初余额表,查找用户选定科目的记录,取期初数并添加到要输出的科目的明细账中,并填写摘要;②扫描凭证号文件,如果文件中有科目为用户选定科目的记录,则取当前凭证号、摘要、借方金额、贷方金额等信息并保存到变量中,并计算当前科目的借方发生额合计数、贷方发生额合计数和余额;③根据会计科目的性质,确定借贷方向,然后将凭证号文件中的凭证号、摘要以及该科目的借方发生额、贷方发生额、余额添加到明细账文件中;④选择凭证号文件并下移指针,然后返回到第②步进行处理;⑤将借方合计数、贷方合计数写入到明细账最后一行。根据需要,将该明细账显示或打印即可。
  3. 2登账程序设计
  根据以上描述,本案设计一个名为zzdz的自动登账函数,该函数将接受用户在列表框中选定的科目编码、科目名称、科目类型、科目级别等4个参数,并根据会计核算的要求将用户选定科目的业务信息登记到账簿中。利用该函数,可以进行总账和明细账的登记,该函数接受参数后运行效果如表5所示。
  
  该函数代码如下:
  Public Function zzdz(dblcurkmdm As Double, strcurkmmc As String, intkmlx, intkmjb)
  Dim mycounter As Integer’计数器
  Dim dblpzcount As Double, kmdm As Double ’
  Dim rq As Date, pzh As Integer, zy As String ’日期,凭证号,摘要
  Dim month1 As Integer, month2 As Integer’月份
  Dim jfje As Double, dfje As Double’借方金额,贷方金额
  Dim jfjelj As Double, dfjelj As Double’借方金额累计,贷方金额累计
  Dim qcye As Double, ye As Double ’期初余额,期末余额
  Dim jhd As String, intcolumnscount As Integer ’ 借或贷 列数
  Dim mxznextrow As Double ’下一行
  ye = 0
  jfjelj = 0
  dfjelj = 0
  mycounter = 3
  dblpzcount = Sheets("jzpzk").Range("a2").CurrentRegion.Rows.Count ’
  ’以下是登记明细账中的第一行和期初余额
  mxznextrow = 4
  With Sheets("zb")
   .Activate
   .Cells(1, 1) = strcurkmmc
   qcye = findqcye(dblcurkmdm) ’调用函数,返回期初余额
   .Cells(3, 7) = qcye
   ’根据科目类型填写借贷关系
   If (intkmlx = 1 Or intkmlx = 4Or intkmlx = 6) And qcye > 0 Then
   .Cells(3, 6) = "借"
   ElseIf (intkmlx = 2 Or intkmlx = 3 Or intkmlx = 4) And qcye < 0 Then
   .Cells(3, 6) = "贷"
   ElseIf qcye = 0 Then
   .Cells(3, 6) = "平"
   End If
  End With
  ’以下为输出业务数据过程
  Do While mycounter <= dblpzcount
   Sheets("jzpzk").Activate
   ’以下是在记账凭证库中查找符合的记录并存到各变量中
   With Sheets("jzpz")
   kmdm = Val(Trim(Left(.Cells(mycounter, 5), 2 * intkmjb 2)))
   rq = .Cells(mycounter, 1)
   pzh = .Cells(mycounter, 14)
   zy = .Cells(mycounter, 4)
   jfje = Val(Trim(.Cells(mycounter, 7)))
   dfje = Val(Trim(.Cells(mycounter, 8)))
   ’将本月数据输出数据到表sheet 3中
   With Sheets("zb")
  .Cells(mxznextrow, 1) = rq
  .Cells(mxznextrow, 2) = pzh
  .Cells(mxznextrow, 3) = zy
  .Cells(mxznextrow, 4) = jfje
  .Cells(mxznextrow, 5) = dfje
  For intcolumnscount = 1 To 7 ’给当前行边框画线
  .Cells(mxznextrow, _
   intcolumnscount).Borders.LineStyle = lContinuous
  Next
  End With
   jfjelj = jfjelj jfje’计算累计
   dfjelj = dfjelj dfje
   ’判断借贷关系并计算余额
   If intkmlx = 1 Or intkmlx = 4 Or intkmlx = 6 Then
  ye = qcye jfjelj - dfjelj
  If ye > 0 Then
   jhd = "借"
  ElseIf ye < 0 Then
   jhd = "贷"
  Else
   jhd = "平"
  End If
   Else
  ye = qcye - jfjelj dfjelj
  If ye > 0 Then
   jhd = "贷"
  ElseIf ye < 0 Then
   jhd = "借"
  Else
   jhd = "平"
  End If
   End If
  Sheets("zb").Cells(mxznextrow, 6) = jhd
  Sheets("zb").Cells(mxznextrow, 7) = Abs(ye)
  mxznextrow = mxznextrow 1
  mycounter = mycounter 1
   End With
  Loop
  With Sheets("zb")
   .Range("a"
其他文献
在5G商用一年多的时间里,我国在5G网络建设、5G应用创新、5G产业生态等方面都取得了骄人成绩。目前,我国已开通5G基站超过69万个,在国家和地方政策的大力支持下、在5G产业链上下游的共同努力下、在垂直行业用户的协同创新下,我国5G应用发展已进入加速导入的新阶段。  国际组织:持续推动5G标准化工作  降低5G部署成本、加速5G應用  过去的几十年里,在技术和需求的双轮驱动下,公众移动通信逐渐从1
当前,新型冠状病毒肺炎疫情防控进入关键时期,各地在全力做好疫情防控工作的同时,多措并举推动企业有序复工复产。落实分区分级精准复工复产,针对不同风险地区分类施策。在此过程中,工业互联网平台作为工业全要素、全产业链、全价值链连接的枢纽,成为降低疫情不利影响、助力企业复工复产、保障经济平稳运行的重要载体。  工业互联网平台  提升复工复产效率  1.围绕有序复工,提高科学防疫水平。工业互联网平台快速响应
[摘 要] 介绍了RFID相关技术,将其与仓库管理系统相结合,对RFID在仓库管理系统(WMS)的使用途径方法及带来的益处进行了论述,并利用仿真软件进行验证,最后指出该系统在应用上的一些问题  [关键词] RFID;WMS;仿真  [中图分类号]F270.7[文献标识码]A[文章编号]1673-0194(2009)03-0043-04    随着供应链管理的快速发展,仓储管理已成为了供应链管理中一
[摘 要] 企业流程设计是一定的社会、技术环境下管理理论在生产实践中的验证与体现,竞合战略是现代信息技术环境下管理理论的突破;本文分析论证了在竞合战略模式下,企业流程设计中的重要内容之一——战略计划与控制流程设计的变革:流程设计跨组织;合作伙伴的选择是战略构建的重要内容;流程设计的动态性;流程设计与整合依赖信息技术的支撑等几方面的内容,为我国企业构建竞合战略及流程设计与重组提供理论及实践支持。  
由于电动汽车销量激增,沃尔沃汽车公司设定了一个雄心勃勃的目标,即到2030年只销售电动汽车。且只在网上销售。沃尔沃预计,到2025年其销售汽车的一半为纯电动汽车,另一半是混合动力汽车。  沃尔沃表示,推动这一目标的原因在于,其首款電动汽车XC40 Recharge P8早期需求强劲,以及充电基础设施扩张将增加客户对电动汽车的需求。沃尔沃汽车CEO塞缪尔森(Hakan Samuelsson)表示:“
[摘 要] 本文通过对具体企业进行调研,分析其需求,开发出预销售管理系统。该系统的主要功能为:报价管理;客户联络管理;事件及处理过程管理;查询;基本信息设置。该系统经具体企业试用,效果良好,可以提高企业销售业务事前管理的工作效率和质量。  [关键词] 预销售管理;信息系统;事件  [中图分类号]F270.7;C931.6[文献标识码]A[文章编号]1673-0194(2008)06-0079-03
日前,工业和信息化部发布的《中国无线电管理年度报告(2018年)》显示,2018年我国净增移动电话用户达到1.49亿户,总数达到15.7亿户,移动电话用户普及率达到112.2部/百人,比上年末提高10.2部/百人。2018 年,全国净增移動通信基站29万个,总数达648万个。其中4G基站净增43.9万个,总数达到372万个。4G 用户总数达到11.7亿户,全年净增1.69亿户。
[摘要] 由于现金流量表专业性强、信息量大、编报较难且容易出现差错,在实务工作中广大会计人员都试图寻找一种易学好用的科学编报方法。本文介绍在电算化会计核算环境下,采用用友财务软件U8版本将账务处理和现金流量处理进行整合,借助现金流量项目函数,在UFO报表系统中快速准确地完成现金流量表的编制工作。使用该种编报方法,不仅可以极大地提高会计人员的工作效率,而且使更多的会计人员从繁重的核算工作中解脱出来,
德国公司研发纳米涂层 可防止指纹显示在不锈钢上     据外媒报道,正如许多不锈钢面板冰箱的拥有者所知,不锈钢上的指纹往往非常明显。然而,新的透明涂层可以以三种方式帮助减少指纹,这实际上是一种清漆。  首先,它是超疏水和疏油的。换句话说,它是防水和防油的,限制了手指油脂最初粘在它上面的程度。此外,它含有微小颗粒,使涂层表面具有微观粗糙的纹理,由微小的“峰谷”组成,接触面积较小。最后,清漆的折射率
全国人大代表、吉利控股集团董事长李书福公布了《关于修订行业标准适应电动汽车铁路运输的建议》及《关于解决货车电动化法规障碍的建议》两项建议。  李书福表示,由于目前实行的铁路运输行业标准是基于数十年前的市场环境而制定,对于锂电池运输严加禁止,大大增加了新能源汽车的运输成本和运输中产生的碳排放,影响了各大车企的新能源汽车(含包括锂电池在内的散件)出口。  李书福建议:  1.根据电动汽车的产品特性,对