自定义函数在计算机财务模型中的应用及对策建议

您所在的位置:网站首页 vba自定义函数无法使用 自定义函数在计算机财务模型中的应用及对策建议

自定义函数在计算机财务模型中的应用及对策建议

#自定义函数在计算机财务模型中的应用及对策建议| 来源: 网络整理| 查看: 265

自定义函数在计算机财务模型中的应用及对策建议 来源:用户上传      作者:

  [摘 要] 自定义函数是计算机辅助财务决策的重要工具,其在创建和使用过程中经常会存在一些问题,本文对这些问题进行分类并分析其原因,提出解决对策。   [关键词] 自定义函数;财务决策;财务管理模型   doi : 10 . 3969 / j . issn . 1673 - 0194 . 2010 . 07 . 015   [中图分类号]F275;F232 [文献标识码]A [文章编号]1673 - 0194(2010)07 - 0030 - 03      随着市场竞争的日趋激烈,企业财务决策对企业经营成败的重要影响日益显现。有远见、有能力的企业纷纷寻求适合自己企业的财务管理软件,以帮助企业做出科学、快速的财务管理决策。而实际上,能够具备上述条件的企业在我国仍属少数。大多数企业虽然已经认识到财务管理软件辅助财务决策的重要性和必要性,但受经济实力和人才素质的限制,无法通过上述途径改善企业财务决策。在这种情况下,一门以Excel为工具辅助财务管理决策的课程――计算机财务管理应运而生。该课程的显著特点是以最低廉的购买成本和维护成本创建适用于各类型财务管理决策的模型,以帮助不懂计算机编程知识的人员实现财务管理决策的科学化。在实务中,使用Excel创建财务管理模型并应用已经得到了广泛的认可。自定义函数是其中的一个典型代表。自定义函数是Excel提供的允许用户自主设计的一种函数,其以快捷、简单和实用为主要特征。编写成功的函数可以视同Excel自带的函数使用。本文全面介绍自定义函数的应用范围、在应用中可能存在的问题并结合实际经验提出解决问题的对策。       一、自定义函数在计算机财务中的应用      1. 自定义函数的基本原理   自定义函数是Excel提供的应用VBA语言编写的一种宏程序。其定义及使用符合Excel自带函数的所有特征,由函数名、参数和公式组成。因此,用户创建自定义函数只需要自己定义一个函数名称,指定其参数并将函数名称和参数之间的关系定义清楚即可。虽然该自定义函数名义上是使用VBA语言编写,但在实际应用过程中,基本上不需要太多VBA语言的知识。   2. 自定义函数的应用范围   自定义函数辅助财务决策的途径便是建立一个可以使用的函数,而该函数定义名称并指定参数后,最重要的是在函数名称和参数之间确定一个计算公式。因而,除了Excel自身提供的折旧函数、资金时间价值计算相关的现值、终值、内含报酬率、年金函数外,只要是可以通过公式计算的财务管理模型都可以使用自定义函数。该功能的存在可以使财务管理决策人员放弃对复杂烦琐的公式的记忆,将更多的精力用于思考决策相关问题,进而做出更科学的决策。具体来说,自定义函数可以应用在如下领域:   (1)筹资决策。筹资决策中资本成本、经营杠杆和财务杠杆、证券发行价格以及外部资金需要量的测算等都需要使用或简单或复杂的公式,因此可以利用自定义函数功能。   (2)营运资金管理。营运资金管理中的现金最佳持有量、经济订货批量的计算本身都是以公式的形式存在的。如现金最佳持有量的存货模式或鲍曼模式、随机模式等;经济订货批量的基本模型、存货陆续供应和消耗条件下的经济订货批量模型、缺货条件下的经济订货批量模型以及存货相关总成本的计算等。   (3)财务分析与评价。财务分析与评价中存在大量的指标,如偿债能力、营运能力、盈利能力和发展能力以及上市公司适用的各类指标,都可以定义成函数。   (4)企业并购。并购过程中目标公司价值评估的各种模型都可以使用自定义函数。   (5)其他。其他包含公式计算的指标如果有必要都可以使用自定义函数,如β系数、期权价值、相关系数等。   3.自定义函数应用步骤举例   自定义函数创建财务管理模型包含函数的创建和使用两大过程。创建函数的步骤如下:   (1)在准备好的工作簿中单击【工具】菜单,选择【宏】下拉菜单中的【Visua Basic 编辑器】,则打开一个VB编程窗口。在该新窗口中单击【插入】菜单,选择【模块】项,进入模块1编辑窗口。   (2)在模块1窗口中,单击【插入】菜单,选择【过程】项,则系统弹出【添加过程】对话框。   (3)在添加过程对话框中,【名称】栏输入要定义的函数的名称,如“最佳现金持有量”,【类型】项选择“函数”,单击【确定】按钮,则出现编辑过程页面。   (4)在编辑过程页面中指定参数并编辑公式,具体示例如下:   Public Function 最佳现金持有量(年现金需求量, 每次转换成本, 有价证券收益率)   最佳现金持有量 = (2 * 年现金需求量 * 每次转换成本 / 有价证券收益率) ^ 0.5   End Function   公式编辑完毕,需关闭模块编辑窗口,返回Excel工作表中便可以使用该函数了。   使用函数时,同使用其他函数相同,单击【插入】菜单,选择【函数】项,类别选择“用户定义”,便可于名称列表中发现刚刚定义函数的名称,单击使用即可。      二、自定义函数在计算机财务中应用存在的主要问题及原因分析      自定义函数的原理虽然简单,但在创建和使用过程中会存在很多问题,这些问题将导致创建的自定义函数丢失、无法使用或计算结果不正确等。具体来说,用户自己定义的函数在创建和使用中可能存在以下问题:   1.定义过程中系统提示“编译错误”   该问题的产生源于用户在定义函数过程中使用系统无法识别的字符或字符不够完整。一般来说,系统只识别英文字符下的标点符号和运算符号。例如,在指定参数过程中,用户需要在函数名称后的括号内指定计算该函数的多个参数,参数和参数之间需要使用逗号间隔,该逗号需要采用英文输入法下的逗号;或者在编辑公式过程中,Excel认可的运算符号包括四则运算符号:+、-、*、/、%、^(指数)、(),比较运算符号:=、>、=(大于等于)、(不等于),文字运算符号:&(连接符号)。   2.使用时无法从“用户定义”中找到自己定义的函数或无“用户定义”   该问题的产生一般是由于用户定义的宏程序不是函数。Excel的宏程序包括两种:函数和子程序。若用户进入【添加过程】对话框中没有选择“函数”项,则系统将默认为“子程序”,则该定义的宏程序不会出现在【函数】下的“用户定义”列表中。   3.在用户定义列表中函数名称前有文件名及模块名字样   很多情况下,用户按照标准程序定义完成函数后,会发现函数无法使用,其名称前有文件名称及模块名称字样,如“book2.xls!模块1.最佳现金持有量”,单击该函数则提示该函数不需要参数。该问题的产生在于Excel系统中宏的安全性设置不合适。由于Excel属于操作性软件,为了减少感染病毒的机会,Excel会自动将宏的安全性设置为“高”,以防止宏程序运行所带来的风险。而用户定义的自定义函数属于宏程序,便被自动禁止运行,出现上述情况。   4.系统提示“该函数不需要参数”   如果“用户定义”列表中函数名称前没有多余字样,出现该问题可能有两种情况:一是用户在定义过程中忘记指定参数;二是在【Visual Basic编辑器】中存在两个或多个同名函数。如果用户忘记指定参数,则系统自然认为该函数不需要参数,因而会出现上述提示。而如果用户在创建自定义函数的过程中,由于一个函数没有创建成功而重新创建一个相同名称的函数或由于疏忽创建了多个相同名称的函数,则系统无法判断用户执行的这个函数名称应该运行哪个模块,因而会出现“该函数不需要参数”的提示。   5.函数运算结果不正确   该问题的产生可能有以下4种情况:一是用户指定的参数不全,导致系统在运用定义公式运算时,将用户未定义的参数默认为0而导致运算错误。二是用于定义的参数与公式中使用的参数名称不一致。Excel函数在定义过程中要求公式中所使用的参数与用户指定的参数必须完全一致,该函数才会正常运行。一旦出现指定的参数为“每次转换成本”,而公式中运用的为“单位转换成本”,则会导致运算错误。三是用户定义的公式本身错误。四是函数名称同公式中等号左侧的名称不一致,这样无论公式定义是否正确,返回的运算结果均为0。Excel要求编辑的公式等号左边的称谓必须与函数名称完全一致。       三、解决自定义函数问题的对策建议      要想使定义的函数能够正常运行并得到正确的运算结果,用户必须能够自己检查函数定义过程中存在的各种问题并有针对性地予以解决。本文将针对上述问题分别提出解决的对策建议。   1.严格遵循自定义函数的标准步骤,使用Excel认可的符号   在实际操作过程中,很多用户忽略自定义函数的标准操作步骤,导致在【添加过程】对话框中忘记选择【函数】项,进而出现函数定义不成功,找不到定义的函数使用的情况。另外,使用Excel认可的符号也是保证函数定义成功的重要一环。用户应该熟知Excel认可的符号,如英文输入法下的逗号,乘除号使用“*”和“/”而非“×”和“÷”,Excel只认可小括号(),而不认可中括号[ ]或大括号{}等,在出现编译错误时直接改正符号保证编译过程顺利完成。   2.进入【Visual Basic编辑器】将sub改为function   若用户由于在定义函数过程中忘记将过程类型指定为“函数”而导致无法在“用户定义”列表中找到已定义函数或根本无“用户定义”类型,则用户可以重新通过单击【工具】,选择下拉菜单【宏】项进入【Visual Basic编辑器】中,在名为“工程-VBAproject”窗口中找到错误函数所在模块,双击后显示过程编辑窗口,此时窗口中的语言为:Public Sub 最佳现金持有量(年现金需求量, 每次转换成本, 有价证券收益率):   最佳现金持有量 = (2 * 年现金需求量 * 每次转换成本 / 有价证券收益率) ^ 0.5   End Sub   用户直接将上述函数名称前的“Sub”手动改为“Function”,关闭该编程窗口返回Excel工作簿直接使用即可。不需要删除错误的函数重新编写。   3.将【宏】的安全性设置为“中”或“低”   用户在使用自定义函数之前需要先检查一下宏的安全性。方法为单击【工具】菜单,选择【宏】项,选择【安全性】,将安全性设置为“中”或者“低”,以防止由于函数名称前出现Excel工作簿名称和模块名称字样而导致函数不可用。需要注意的是宏的安全性设置完成后,关闭当前文件重新打开后生效。   4.检查定义的函数名称及参数是否与函数中定义的公式完全一致   如前所述,定义的函数名称及参数与函数中定义的公式不完全一致时,将出现运算错误的情况。检查方法是定义完成后现场检查或发现错误后重新进入【Visual Basic编辑器】修改函数名称或指定参数或修改公式,使两者能够完全一致。   5.删除多余同名函数   在存在两个或多个同名函数时,函数也无法正常使用。如果存在上述问题,则用户需要在【Visual Basic编辑器】中的“工程-VBAproject”窗口中查找所有模块,找到与所定义的函数名称完全一致的其他定义,保留正确的函数所在模块,将其他函数删除或将其所在模块移除。移除的方法是将鼠标指向要移除的模块,单击右键,选择“移除模块”,不保存即可。      主要参考文献   [1]韩良智.EXCEL在财务管理与分析中的应用[M].北京:中国水利水电出版社,2004:100-101.   [2]财政部注册会计师考试委员会办公室.财务成本管理[M].北京:中国财政经济出版社,2008.   [3]王化成.高级财务管理[M].第2版.北京:中国人民大学出版社,2005. 转载注明来源:https://www.xzbu.com/3/view-10591916.htm



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3