Excel vba

22
EXCEL VBA 台大計量經濟TA2013/12/18

description

 

Transcript of Excel vba

Page 1: Excel vba

EXCEL VBA

台大計量經濟TA課 2013/12/18

Page 2: Excel vba

許嘉

• 政大金融所

• 統一證金融商品部實習生

• 元大證自營部實習生

• Fri. 民族國中租場女生打全場籃球!徵人!!!!!!

Page 3: Excel vba

大家想學什麼?

• 研究時可以蒐集、整理、分析數據

• 未來可以應用在公司裡

• 自我投資研究與監控

Page 4: Excel vba

為什麼要學?

• EXCEL是每個人電腦、公司裡,隨手可得的工具!

• 只要熟悉EXCEL,就可以快速進入VBA應用

• 不只交易員要分析,研究員也可以應用分析

Page 5: Excel vba

Agenda

1. 基本介紹

1.1 常數 1.2 變數 1.3 內建函數

2. VBA

2.1 Sub/Function

2.2 For

2.3 While

2.4 For Each

2.5 巨集

*2.6 其他常用物件或指令(Offset/Selection/UsedRange/AutoFit)

3. 表單基本應用

4. 其他外接資料寫法簡介(Web/DDE/SQL/C/API)

5. Fed Add-in

Page 6: Excel vba

• Step 1 開啟開發人員列表

– 檔案

選項

自訂功能區

打勾”開發人員”

壓此鍵就進入 編輯介面囉!

(Alt+F11)

Page 7: Excel vba

• Step 2 開啟即時運算視窗

– 檢視即時運算視窗(專案總管和屬性視窗一併開啟)

Page 8: Excel vba

暖暖身…

• Print = ? print 123 ?123

• 常數與變數 ?"123“ ?123

• 常數與常數連接/常數與變數連接

?"123"&c ?"123"+"123"

c=123 ?"123"+c ?"123"&c

Page 9: Excel vba

暖暖身…

• 日期

?#2013/12/18#

?”2013/12/18”

?#2013/12/18#+1

?”2013/12/18”+1

• 邏輯運算

?1=1

?1=2

?”中文”=”中文”

?”中文a”>”中文b”

? #2010/10/31# >#2009/10/31#

Y=1=1

?Y

Page 10: Excel vba

暖暖身…

• 連接詞邏輯

?1=1 and 2=2

?1=1 or 2=2

?1=1 or 2=2 and 3=2

?(1=1 or 2=2) and 3=2

• 變數

abc =1

?abc

abc=2

?abc

?abc+2

?abc=“顆顆”

?abc=#2013/12/18#

Page 11: Excel vba

暖暖身…

• 函數

?Date

?Now

A=now

B=now

?B-A

?(B-A)*86400

Page 12: Excel vba

暖暖身…

• 參數 ?int(99.12) a=123.123 ?int(a) ?round(a) ?round(a,2) b=#2013/12/15# ?left(b,4) ?right(b,5) ?mid(b,6,2) ?replace(“ abc def “, “ “,””) ?replace("1,123,456", ",", "")

Page 13: Excel vba

暖暖身…

• 參數

?instr(“abcdef”,”a”)

?str(1) 數字變文字

?val(“1234”) 文字變數字

?val("1,234")

?val("1a234")

?val("a1234")

?val(replace("1,234",”,”,””))

?val(replace("1,234",”,”,””))+1

?replace(“1,234”,”,”,””)+1 雖然可以算,但是是VBA裡不好的習慣!

Page 14: Excel vba

暖暖身…

• 參數

?Year(#2013/12/15#)-1911

?month(#2013/12/15#)

?day(#2013/12/15#)

?cdate(“2010/10/08”) 文字變日期

?cdate(“2010/10/08”)+1

? “2010/10/08”+1

Page 15: Excel vba

暖身完畢!!!

默默講完了資料型態XD

Page 16: Excel vba

不藏私

地基打得好 學VBA沒煩惱

雖然有時候VBA他數字文字傻傻不計較,

但如果在一片程式中出現 ”資料型態不對”,

那就麻煩只能從頭debug!!! 所以,一開始就要養成好習慣。

Page 17: Excel vba

灌漿…

• Step 1 開啟R1C1欄名列號表示法

選項

公式

打勾” R1C1欄名列號表示法”

EXCEL 2003欄位只有到六萬五千多筆,使用較大欄

位的時候要注意。

Page 18: Excel vba

VBA…

Cells.Delete

Cells(4,2).value= 100

物件 .屬性

東西 . 特徵

可能有人會發現Cells(4,2)=100也行!

但如同前面所說,養成良好習慣很重要!

Cells(4,2).interior.colorindex=6

Page 19: Excel vba

VBA…

Cells(1,1).offset(5,1).value=1

Cells(6,1).value=1

?工作表1.usedrange.cells.count

?Activesheet.usedrange.cells.count

Cells.EntireColumn.AutoFit

Cells.EntireRow.AutoFit

Page 21: Excel vba

The Federal Reserve Bank of St. Louis Economic Data (FRED)

• 載點http://ppt.cc/ap~g

• 裝入Add-in方法

– 檔案

選項

增益集

執行

瀏覽至

• 使用方式參照網頁上教學影片

Page 22: Excel vba

• 買什麼書?

– 任何一本都可以,但有用性有限

• 指令查詢?

– F1。但我都GOOGLE。

• 怎麼練習公司常用的function

– 利用TEJ載資料做整理。還是不會,那就google “TEJ 範例”夠你參考啦!

– EX:上市櫃權證分類(by標的分類為電、金、非金電)去比較每一類流通在外檔數。

– EX:從TEJ或Web下載資料,分類出電子類股,外接DDE。

• 吳老師教學部落格

http://terry55wu.blogspot.tw/p/excelvba.html