Stock 板


LINE

VBA取得财务报表 网志图文版: https://www.b88104069.com/archives/4374 第二篇到目前为止,都是以单一公司进行财务分析,需要取得公司股东会年报和财务报告 ,实务上大多会是多家公司同时进行分析,如果是一家一家取得财务资料PDF档案,显然 不容易进行。上一节有介绍过用Excel取得财务报表,虽然成功将财报资料下载到Excel工 作表,很方便进一步处理,但每下载一份报表,便需要操作一次,在想要同时分析多家公 司或是多个期间的场合,不是那麽有效率,这一节进一步介绍如何运用VBA程式,达到较 为自动化地取得财务报表。 一、接下来会频繁用到Excel的VBA功能,已经是Excel程式设计师了,所以第一步是将开 发人员的面板打开。在上方功能区点选最右上角的「档案」,在跳出来的视窗选择最左下 角的「选项」,最後在「Excel选项」视窗中,移到「自订功能区」页签,将右边自订功 能区的「开发人员」勾选。在这里,还以点选最右边的上下按纽、调整众多指令在上方功 能区的顺序。 二、回到Excel上方功能区,多出了一个「开发人员页签,选点「程式码」中的Visual Basic,当滑鼠游标停留在这个指令的时候,会弹出辅助说明:开启Visual Basic编辑器 ,并且还会提示「Alt+F11」为快速组合键。 三、如果读者是使用本书附带的Excel档案,开启VBA後,会看到如下的画面︳这便是 Excel编写VBA程式码的界面,在程式模组中的「Module 1」,已经写好了一个「 BalanceSheet」的巨集程式。 四、回到Excel操作界面,在上方功能区移到「开发人员」页签,於「程式码」群组中选 择「巨集」,一样会弹出辅助说明:「查看可使用巨集的清单,一样有提示「Alt+F8」为 快速组合键。 五、点开「检视巨集」後,跳出「巨集」视窗,初看有很多巨集程式可供选择。 将下面有个「巨集存放在」的选单下拉,发现其实还有一个「PERSONAL.XLSB」,这个是 Excel内置的一个隐藏工作表,只要开啓任何一个Excel档案,就会连带隐藏开启这个档案 ,可想见例如将A巨集放在此个人活页簿,效果等同於在所有Excel档案都能执行这个A巨 集。 在此用不到「PERSONAL.XLSB」,直接下拉改选为「现用活页簿」即可,表示只需要列出 目前活页簿所具有的巨集清单。另外,读者如果没有在使用「PERSONAL.XLSB」,开啓书 本范例档案应该也只看到「BalanceSheet」,这里因为刚好笔者有这些东西,顺便作个分 享。 改为「现用活页簿」之後,清爽了许多,按右上角的「执行」,让Excel开始跑第三步骤 所看到的那些程式。 六、刷刷刷,稍加等待,Excel果然一口气了五个年度的资产负债表,很多资料,这里碍 於篇幅仅能截图其中一部份。年度从左到右是2013年到2017年,不过把坐标往右边拉,会 看到有个2012年1月1日,通常财报是两个比较年度,2013年较为特别有三个年度,我的程 式设定每个年度财报占三栏:会计栏位、本年度金额、上年度金额,每次VBA取得资料会 以插入方式新增栏位,所以第一次资料中的2012年,於是被挤到最後面去,由於不致於影 响财务比率分析,不另外作程式调整。 七、将这一节的VBA程式码列示如下,依照列号作说明。 10:开始一个取名为「BalanceSheet」的巨集程序程式。 30:定义Year为整数变数,定义WebAddress, DesCell为文字变数。 50:先将工作表所有储存格清除。 70:以变数Year设置2013到2017的回圈事件,这个省略「Step 1」,因为回圈预设是正一 的等差级数,亦即整数的流水号。 80-90:依照公开资讯观测站的年度财务报书网址,设定WebAddress的值,其中的「Year 」依照回圈进行的话,刚好会是股票代码2409的2013到2017五个年度的第四季财务报告书 。 100:设定DesCell变数为所取得财报资料要开始贴上的储存格坐标位址,其中的「*3」形 成公差为3的等差级数,用意便是上个步骤所说的每个年度财报占三个栏位,依序往右边 接续。 110:VBA取得网路资料的固定程式,其「Connection」为网址参数,「Destination」为 目的储存格位址参数。 120:设定取得网页资料的特定表格。 130:设定取得网页上的第2个表格。 140:设定不在背景执行,也是要等到完整资料後再执行下一行程式,因为Excel并非专门 取得网页资料的应用软体,而且网页太多的话Excel可能会不稳定,所以都会把这个设定 为False。 150:结束With,这一行和110行形成一个VBA的With…End With事件,作用是方便针对同 一物件设置许多参数,毋须在每一行程式再一次重申所关联的对象物件。 160:这一行和70行成一个VBA的回圈事件。一开始70行的Year是2013,执行到160行再跳 回到70行,Year变成是下一个2014,往下再一次执行程式到160行,直到Year是2017将整 个等差回圈执行完了,才会从160行往下跳到170行。 180:取得所有资料後,将工作表所有栏寛都设定为15,方便阅读。 200:结束此巨集程式。 笔者上一本书为《人人做得到的网路资料整理术》,全书以八章四十个小节,介绍Excel VBA如何取得网路资料,作为范例的网站类型有艺文展览、天气预报、借阅排行、银行汇 率等,其中有个类型便是公开资讯观测站的财务报表,这一节的VBA程式码便是引用自上 一本书。 当时那本书《人人做得到的网路资料整理术》侧重於Excel VBA的技术基础,这本书主题 是财报分析,仅仅利用Excel VBA作为工具取得原始财报,所以在接下来章节有用到VBA的 地方,还是会稍加说明,但在技术层面不会像上一本书那麽详尽,读者有需要可以使用本 书附带的Excel档案,直接执行巨集程式即可。 不过如同这一节提到的2013年较为特殊有三个年度,网页资料难免结构可能有变动,甚至 网址规则都有可能更改。建议读者真的很需要常常取得财务报表进行分析,建议可阅读《 人人做得到的网路资料整理术》,完整学习如何编写VBA程式取得网路资料。 延伸阅读: 偿债能力分析:流动比率 https://www.b88104069.com/archives/4372 Excel如何取得XBRL网页资料 https://www.b88104069.com/archives/4368 Excel如何取得财报 https://www.b88104069.com/archives/4365 -- 周末,我们继续Excel:=>21.心得=>5.其他=>3.office 会计人的Excel小教室: https://www.facebook.com/acctexcel --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 112.22.232.166
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Stock/M.1553935237.A.BFB.html
1F:推 jeff79723: 推,感谢分享 03/30 17:00
2F:推 nfsong: 推 03/30 17:09
3F:推 meRscliche: 推 03/30 17:25
4F:推 SweetLee: 推 03/30 17:34
5F:推 evens: 赞 03/30 18:52
6F:推 idletime: 推~ 03/30 19:50
7F:推 chorngbin: 推 03/30 20:14
8F:推 meulen: 感谢分享 03/30 20:32
9F:推 bear753951: 推 03/30 20:34
10F:推 oasis822: 推 03/30 21:00
11F:推 ImFroggen: 谢谢 03/30 22:01
12F:推 michael33: 感谢分享 03/30 22:16
13F:推 shine409: 谢谢分享 03/30 22:53
14F:推 taco20147: Thank you!! 03/30 23:00
15F:推 hi77191988: 感谢分享 03/30 23:55
16F:推 jerkass: 谢分享 03/31 01:53
17F:推 timuwtpirt: 推 03/31 03:20
18F:推 TaiTrend: 推啊 03/31 09:16
19F:推 jai166: 推 03/31 09:19
20F:推 twinkle38: google sheet 能套VBA吗? 03/31 09:51
21F:→ moodyblue: Google Sheet没接触过,以後可能会研究看看,谢谢! 03/31 09:59
22F:推 nickoil: 感谢分享 03/31 11:16
23F:推 globekiller: 路过帮推 03/31 13:37
24F:推 OJC1106: 推 03/31 16:53







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job 或 站内搜寻

TOP