Excel vba
description
Transcript of Excel vba
EXCEL VBA
台大計量經濟TA課 2013/12/18
許嘉
• 政大金融所
• 統一證金融商品部實習生
• 元大證自營部實習生
• Fri. 民族國中租場女生打全場籃球!徵人!!!!!!
大家想學什麼?
• 研究時可以蒐集、整理、分析數據
• 未來可以應用在公司裡
• 自我投資研究與監控
為什麼要學?
• EXCEL是每個人電腦、公司裡,隨手可得的工具!
• 只要熟悉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
• Step 1 開啟開發人員列表
– 檔案
選項
自訂功能區
打勾”開發人員”
壓此鍵就進入 編輯介面囉!
(Alt+F11)
• Step 2 開啟即時運算視窗
– 檢視即時運算視窗(專案總管和屬性視窗一併開啟)
暖暖身…
• Print = ? print 123 ?123
• 常數與變數 ?"123“ ?123
• 常數與常數連接/常數與變數連接
?"123"&c ?"123"+"123"
c=123 ?"123"+c ?"123"&c
暖暖身…
• 日期
?#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
暖暖身…
• 連接詞邏輯
?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#
暖暖身…
• 函數
?Date
?Now
A=now
B=now
?B-A
?(B-A)*86400
暖暖身…
• 參數 ?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", ",", "")
暖暖身…
• 參數
?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裡不好的習慣!
暖暖身…
• 參數
?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
暖身完畢!!!
默默講完了資料型態XD
不藏私
地基打得好 學VBA沒煩惱
雖然有時候VBA他數字文字傻傻不計較,
但如果在一片程式中出現 ”資料型態不對”,
那就麻煩只能從頭debug!!! 所以,一開始就要養成好習慣。
灌漿…
• Step 1 開啟R1C1欄名列號表示法
選項
公式
打勾” R1C1欄名列號表示法”
EXCEL 2003欄位只有到六萬五千多筆,使用較大欄
位的時候要注意。
VBA…
Cells.Delete
Cells(4,2).value= 100
物件 .屬性
東西 . 特徵
可能有人會發現Cells(4,2)=100也行!
但如同前面所說,養成良好習慣很重要!
Cells(4,2).interior.colorindex=6
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
外接資料
• 外接Web
http://white5168.blogspot.tw/2012/08/excel-vba_2330.html#.UrBZl_QW2Dc
• DDE(動態資料交換)
=YES|DQ!'2330.Price‘
The Federal Reserve Bank of St. Louis Economic Data (FRED)
• 載點http://ppt.cc/ap~g
• 裝入Add-in方法
– 檔案
選項
增益集
執行
瀏覽至
• 使用方式參照網頁上教學影片
• 買什麼書?
– 任何一本都可以,但有用性有限
• 指令查詢?
– F1。但我都GOOGLE。
• 怎麼練習公司常用的function
– 利用TEJ載資料做整理。還是不會,那就google “TEJ 範例”夠你參考啦!
– EX:上市櫃權證分類(by標的分類為電、金、非金電)去比較每一類流通在外檔數。
– EX:從TEJ或Web下載資料,分類出電子類股,外接DDE。
• 吳老師教學部落格
http://terry55wu.blogspot.tw/p/excelvba.html