作者moodyblue ()
看板Accounting
标题[心得] Excel如何财务报表另存新档
时间Sun Aug 5 14:08:55 2018
Excel如何财务报表另存新档
网志图文版:
http://www.b88104069.com/archives/4330
本章第一节到第三节,分享如何将每日汇率储存於分别的工作表,累积一段时间再汇总分
析,如此虽然方便,然而所有工作表资料放在同一个活页簿,数量多的话,不是很好处理
。例如一年有365天、扣除假日估算250个工作天,也就是在同一活页簿会有250个工作表
,光是想像就不太容易。这里以第五章财务报表为例,介绍另一种可行方法,把每次取得
的资料储存为一个Excel档案,有需要时再调出来整理分析,以下具体分享:
一、首先,建立一个Excel报表,於格式设计包含所有关键参数。
二、编写如下VBA程式码:
10~30:「Option Explicit」意思是强制必须宣告变数,在程式码较多的情况,建议在一
开始、程序的上面写上这麽一段话。接着的「Public」为宣告公共变数,如果有定义那些
公共变数的话,其值可以跨模组延用。
70~140:和先前章节类似的变数定义方式,这里用到「CInt」函数将值转换为整数,其用
法和「CStr」文字函数类似。这里的「Application.InputBox」方法在以前章节常用,意
思是以输入视窗的方式填入储存格参照,并且将同一行的其他栏位资料合并,作为想取得
资料网页的止。
160~200:先前章节习惯使用「For…Next」,其间皆是以等差级数作为循环,但如果遇到
像这里想以一组文字依序循环,必须用数列设定集合变数,宣告一个「Variant」变数代
表集合中的个数。以这里为例,便是将「FR(2)」、「FR(3)」、「FR(4)」设定为文字变
数「report」,其值依序为「Balance Sheet」、「Income Statement」、「Cash Flows
」。
200~350:如同上一章第五节所言,「For Each In…Next」是一种特别的「For…Next」
循环语句,它循环的对象为集合或数列里的每一个元素或项目。搭配「T1」、「T2」的计
算式,循环依序建立「Balance Sheet」、「Income Statement」、「Cash Flows」三个
工作表,并且将同一网页中第2个、第3个、第4个表格资料下载到各个工作表。
三、先测试看看,故意将程式码中的「WebAddress」改成「WebAdress」,因为拼字错误
并没有宣告变数,执行程式果然跳出提示视窗:「编译错误:变数未定义」。
四、正式执行巨集程式,首先会跑「Application.InputBox」,出现输入储存格参照的视
窗,在这里选择「A2」。
五、如愿新增了工作表,同时还将三大财务报表都下载好了!
六、同场加映,设计VBA程式码将财务报表另存新档。
七、果然冒出来:「1-2002-中钢-2016-4」,这是财报资料库的第一个档案。
八、最後补充,因为每位读者所偏好的资料夹不同,可以在自己电脑滑鼠右键,点选「内
容」,出现如图所示的视窗,其中的「位置」便是目前所在的资料夹路径:「
C:\Users\b8810\Documents」,再加上本身的资料夹名称,即为这一节VBA程式码的「
C:\Users\b8810\Documents\FRs\」。
此处介绍的方法是先在Excel建立一个表单,执行程式时让操作者选择表单中任何一项,
不过其实也可以预设好想下载哪些财报,编写於VBA程式中,直接将网页资料储存成电脑
档案。这里之所以透过表单中介,一方面是留有一份资料库清单,另一方面保有弹性,用
Excel输入资料还是比较快,毋须舍本逐末,什麽都要写成VBA程式码。
本文内容取自《人人做得到的网路资料整理术》,博客来书店网址:
http://www.books.com.tw/products/0010775391。
延伸阅读:
Excel如何一次汇总比较三家公司财务报表
http://www.b88104069.com/archives/4321
Excel如何取得多家公司财务报表
http://www.b88104069.com/archives/4317
Excel如何取得股票代码清单
http://www.b88104069.com/archives/4315
--
周末,我们继续Excel:=>21.心得=>5.其他=>3.office
会计人的Excel小教室:
https://www.facebook.com/acctexcel
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 112.20.96.146
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Accounting/M.1533449339.A.B49.html