[心得] Excel如何財務報表另存新檔

作者: moodyblue   2018-08-05 13:43:17
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
作者: xxyyzzxyz627 (MrWUYUAN)   2018-08-05 14:22:00
謝謝分享!!!!
作者: Trybeer ((踹比爾))   2018-08-05 15:26:00
公開資訊站有財報匯總資料。直接抓全部比較快
作者: s820912gmail (MR S)   2018-08-05 16:09:00
文組的我表示:...
作者: shortlarry (619)   2018-08-05 22:32:00
感謝分享
作者: yehnshin (這是個玩笑?)   2018-08-06 00:35:00
推一下

Links booklink

Contact Us: admin [ a t ] ucptt.com