為什麼這篇財務報表excel鄉民發文收入到精華區:因為在財務報表excel這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者moodyblue ()看板Accounting標題[心得] Excel如何取得多家公司財務報表...
財務報表excel 在 小人物職場|職場生存 x 思維能力 x 履歷面試 Instagram 的最佳解答
2021-08-02 18:58:54
📌5 個開啟新職涯的專業證書:想轉換跑道卻不知道該如何下手,也許可以考慮先透過線上學習,一方面可以增進職業基礎知識,另一方面也可以了解自己到底適不適合或是有沒有興趣 . 👉第 1 個 社交媒體營銷證書 由 Facebook 推出的課程,包含社交媒體營銷的基本認識、社交媒體管理、廣告基礎、衡量和優化活...
Excel如何取得多家公司財務報表
網誌圖文版:
http://www.b88104069.com/archives/4317
上一節成功取得股票代碼及公司名稱的清單,然而以本章宗旨而言,目的仍然是下載財務
報表資料,最好是批次獲得、直接儲存為Excel檔案。上一章《Excel牌告匯率》中,是將
所有批次取得的資料放在同一張工作表,不過本章財務報表的情況不同,因為各家公司損
益表結構不一定相同,比較不適合都放在同一張工作表。有個變通作法,將每家公司的資
料分別放在不同工作表上,在第三章第三節有介紹過如何以VBA程式新增工作表,當時是
以Application.Inputbox參照儲存格的方法,其於本質上仍然是一次一個的手工操作,這
一節要介紹如何批次新增工作表,同時分別取得各家公司的財務報表:
一、從清單中,選擇五檔股票。
二、編寫VBA程式碼如下:
40:想利用Excel作為VBA程式的一部份,首先必須計算Excel資料的範圍,於此範例即為
有多少行,「UsedRange.Rows.Count」便是執行此計算最佳的程式。
70:MsgBox為VBA中相當基本的函數,作用是跳出提示訊息的視窗,函數後面接的字符串
是視窗中顯示的訊息文字。
三、執行巨集後,跳出來的視窗:「資料共有7行」。
四、編寫新增工作表的程式碼:
30:宣告變數。
50~60:計算工作表「一」有多少行資料,由於上一個步驟驗證過,計算結果會比實際行
數多一,所以這裡設定「Row=Row-1」。
80:以變數「i」設置迴圈,參照資料有標題行,因此這裡是從「2」開始,一直到代表總
共有多少行。
100~120:將「Stock」變數設定為「股票代碼-公司名稱」。
140~150:新增工作表,依序以「Stock」更改新工作表的名稱。
五、執行結果,一如預期。
六、最後再添加補充程式碼如下,執行前記得先將上一步驟新增的工作表刪除,避免VBA
提示錯誤。另外這裡的程式行雖然多,主要是UsedRange.Rows.Count、
ActiveWorkbook.Sheets.Add、ActiveSheet.QueryTables.Add三個VBA方法綜合應用,在
先前皆已介紹過,於此不再多作說明。
七、成功取得五家公司2016年度的損益表。
迴圈是程式語言批量取得資料的最方便工具,其特性是利用一個遞增或遞減的變數循環,
如同上一章《Excel牌告匯率》範例所示,此特性在時間日期相關的網頁絶佳合適。這一
章的公司代碼雖然也是數字,可是為不規則不連續,沒辦法直接設置迴圈,所以繞個彎,
改在Excel工作表先建立清單,然後依照行列順序的特性,作為VBA迴圈程式的循環對象。
設計Excel公式時,依照情況需要選擇不同函數搭配,VBA取得網頁資料也是同樣道理,必
須視網頁結構編寫不同的程式碼,這一章和上一章便是極佳例證。
本文內容取自《人人做得到的網路資料整理術》,博客來書店網址:
http://www.books.com.tw/products/0010775391。
延伸閱讀:
Excel如何取得公開發行公司財務報表
http://www.b88104069.com/archives/4312
Excel如何取得多期損益報表
http://www.b88104069.com/archives/4313
Excel如何取得股票代碼清單
http://www.b88104069.com/archives/4315
--
周末,我們繼續Excel:精華區=>21.心得=>5.其他=>3.office
會計人的Excel小教室: https://www.facebook.com/acctexcel
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.20.97.197
※ 文章網址: https://www.ptt.cc/bbs/Accounting/M.1529807837.A.62D.html