[心得] Excel如何取得股票代码清单

楼主: moodyblue   2018-06-17 09:55:25
Excel如何取得股票代码清单
网志图文版:
http://www.b88104069.com/archives/4315
上一节成功取得单一公司三个年度的损益表,实务上,无论出于产业财务报表分析、或者
是投资者比较各档股票基本面,会针对多档股票的损益表作比较,因此有需要同时取得多
家公司的损益表资料。在这里有个先决条件,网址上皆是股票代码,如果要以公司名称对
应到股票代码,有必要先取得对照清单,在这一节便介绍如何运用网页资料,整理出符合
需要的清单。
一、于“公开资讯观测站”选择“汇总报表”、“资讯揭露”、“每月营收”、“采用
IFRSs后营业收入汇总表”、“每月营业收入汇总表”:
http://mops.twse.com.tw/mops/web/index。
二、接着是“国内上市”、年度“107”、月份“1”、“查询”,再按下面的“请选点选
这里”。
三、另跳视窗的网址:“http://mops.twse.com.tw/nas/t21/sii/t21sc03_107_1_0.html
”,利用Excel下载网页资料,几乎如实呈现了网页的内容。不过仍然尚有两点事项待处
理,第一项是有很多营收相关的字段,但其实于此只需要前面两栏“公司代码”及“公司
名称”,另外除了有公司代码的资料行,有许多文字行和空白行,其实也不需要。
四、为顺利产生公司代码清单,首先输写如下程式码,重点在于了解“
UsedRange.Rows.Count”和“TypeName”的用法。
R = Worksheets("三").UsedRange.Rows.Count
Sheets("五").Cells(1, 3).Value = R
从程式码的英文单字顾名思义,这是计算工作表“三”内容范围有多少行的固定语句,并
且要在工作表“五”的第一行第三栏呈现所计算出来的“R”值。
StockID = Worksheets("三").Cells(i, 1).Value
Sheets("五").Cells(i, 1).Value = TypeName(StockID)
将工作表“三”储存格(i, 1)的值设定为变量“StockID”,然后再将该变量的资料型态
输入到工作表“五”储存格Cells(i, 1)。
五、前二十行资料,共有三种型态,“String”为文字 、“Empty”空白 、“Double”
为数字,“C1”储存格的“1020”代表步骤三所下载的网页内容共有1020行,稍微垂直卷
动这些资料,不难发现第一栏(A栏)的后面1020行中,和前面二十行资料相同,其实总
共就三种型态,而且公司代码所属行都是“Double”,分析出这个规律之后,接下来才能
做相对应的处理。
六、在步骤四的基础上,进一步编写程式码,重点在加入资料型态的判断句,并且将符合
的资料复制到新工作表上。
R = Worksheets("三").UsedRange.Rows.Count
For i = 1 To R
在第四章第五节“多余资料删除”中,介绍过“For i = 1048576 To 2 Step -1”的终极
用法,它虽然能完整扫过工作表,但其实在大部份资料没有那么多行的情况,这样的设计
只是执行空转,白白耗费了计算机资料,所以利用“UsedRange.Rows.Count”先自动评估
有多少行资料,再设计“For i = 1 To R”精准循环是较为聪明的作法。
StockID = Worksheets("三").Cells(i, 1).Value
If TypeName(StockID) = "Double" Then
j = j + 1
Sheets("三").Cells(i, 1).Copy Sheets("七").Cells(j, 1)
Sheets("三").Cells(i, 2).Copy Sheets("七").Cells(j, 2)
End If
先取得工作表“三”第一栏 (A栏)的内容,赋值予变量“StockID”,判断其资料型态是
否为数字“Double”,如果是的话,设置变量“j = j + 1”,等于是一个从1开始正整数
的计数器,这是编写程式的惯常用法,最后将工作表“三”符合条件的特定行,第一栏公
司代码和第二栏公司名称复制到工作表“七”的第一栏第二栏,依照正整数“j”的顺序

七、执行结果一如预期!
在资料量钜大的情况下,都会有像编码原则和代码对照表这一类的东西。一方面是需要将
资料分门别类,才能有序整理及快速搜寻,另一方面现在所有资料都会以电子形式储存,
所以要有个合乎电子格式的识别代码。很多时候,我们很需要一份完整清单,方便针对资
料作进一步处理,可是又没办直接取得这份清单,这一节所介绍的方法也许不尽完美,但
应该极具参考价值。
本文内容取自《人人做得到的网络资料整理术》,博客来书店网址:
http://www.books.com.tw/products/0010775391。
延伸阅读:
Excel如何取得公开发行公司财务报表
http://www.b88104069.com/archives/4312
Excel如何取得多期损益报表
http://www.b88104069.com/archives/4313
VBA如何修改网址下载财务报表
http://www.b88104069.com/archives/4144
作者: daniel810909   2018-06-17 12:14:00
作者: evolution999 (唱歌拉)   2018-06-17 12:54:00

Links booklink

Contact Us: admin [ a t ] ucptt.com