EXCEL VBA與資料庫(進階97)第6單元
上課內容:
01_工作表合併複習與改為用VBA的Range的Copy方法
02_範例329合併三個工作表用Range的Copy合併
03_VBA宣告變數與建立查詢系統
04_錄製查詢業務巨集與修改
05_程式修改與防呆工作表名稱已經存在
06_防呆無填寫與無結果程式撰寫
07_將程式改為共用SUB傳遞引數
08_取消保護與保護專案與實價登錄範例
完整影音
http://goo.gl/aQTMFS
教學論壇:
https://groups.google.com/forum/#!forum/scu_excel_vba2_107
與前幾期的課程雖然用的是相同的範例,但最大的不同在:
1.除了解說建函數公式,並將之轉成自訂函數,把複雜的公式變簡單。
2.如何將複雜的公式變成簡單的按鈕,按下按鈕就自動完成工作。
內容主要分成:
單元01_資料拆解相關(VBA基礎)
單元02_表單設計
單元03_輸入自動化與表單與資料庫
單元04_工作表合併
單元05_資料查詢(篩選與分割工作表)
單元06_批次查詢
單元07_從雲端硬碟下載資料
單元08_下載網路資料
單元09_工作表相關
單元10_活頁簿與檔案處理(工作表分割與合併活頁簿)
單元11_表格與圖表處理(自動繪製圖表)
單元12_圖案處理(快速匯入圖片到EXCEL)
有講義與範例和完成的畫面公式與程式碼,
只要按照每周的順序學習,學會EXCEL VBA自動化絕非難事,
優點:
1.可非線性學習:可按照自己最不熟的部分多次學習。
2.可反覆學習:有疑問可以多次聽講,保證學的會。
3.可攜帶學習:只要有瀏覽器就可以播放SWF檔,MAC電腦也沒問題。
上課參考用書:
看!就是比你早下班-50個ExcelVBA高手問題解決法
作者:楊玉文 出版社:松崗
Excel VBA一點都不難:一鍵搞定所有報表
作者:?Excel Home
出版社:博碩
課程理念:
1.以循序漸進的方式, 透過詳細的說明和實用的Excel VBA範例, 逐步了解整個 VBA 的架構與輪廓,進而學習 VBA 變數、函式及邏輯的觀念, 即使沒有任何程式設計基礎, 也能自己親手撰寫 VBA 程序來提昇工作效率, 晉身職場 Excel 高手! 2.進而解說EXCEL與資料庫的結合,將EXCEL當成資料庫來使用,結合函數、VBA等更深入的功能,讓資料處理和分析的應用更上層樓。 3.將結合GOOGLE雲端試算表,教您如何將EXCEL函數雲端化與網路化。
更多EXCEL VBA連結:
01_EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
02_EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
吳老師 2018/10/8
EXCEL,VBA,函數東吳進修推廣部,EXCEL,VBA,函數,程式設計,線上教學,excel,vba,教學,excel,vba指令教學,vba範例教學excel,,excel,vba教學視頻,excel函數教學,excel函數說明,excel函數應用

vba sub引數 在 Re: [VBA ] Function傳回值的問題- 看板Visual_Basic - 批踢踢 ... 的推薦與評價
看不下去了,問的人搞不清楚,回答的除版主外也是亂七八糟。
要在VBA的sub或function裡面改變多個變數,只要把他傳進去,在裡面修改就可以了:
sub abc()
p = 10: q = 20
MsgBox "before: p, q = " & p & ", " & q
fun 3, p, q
MsgBox "after: p, q = " & p & ", " & q
end sub
Sub fun(i, j, k)
j = i * j
k = i * k
End Sub
這包在excel 2010測試過,一定成功,因為VBA的參數傳遞預設就是byref。
如果要加byref,那是加在引數前面,不是在函數裡面。
Sub fun(i, ByRef j, ByRef k)
而事實上也不用加,原因如上,預設就是ByRef。
只有加上ByVal才會影響結果。
Sub fun(i, ByVal j, ByRef k)
你可以自己照上面修改看結果如何。
改成sub的原因是,既然function並不return值,那用sub也是一樣。
然後是越看越火大的部份。
第一,VBA的function回傳值跟fortran一樣,寫法是
function 函數名字(引數)
...
函數名字 = 傳回值
...
end function
比如說,你函數名稱是 fun ,那傳回值就是 fun = ... 隨便什麼東西
可以寫在function內任意地方,不用在最後一列,也不會造成函數執行結束。
不需要,也不能使用return。
第二,VBA的return沒有任何回傳值的功能。
VBA的return是跟gosub搭配使用的,意思是返回gosub呼叫的位置。
這組指令還要用到行號,如今毫無意義,只是為了和老屁股BASICA相容才存在的。
這是VBA,不是VB.NET
到VB.NET才改用return傳回值
即使在VB.NET,一次傳回多個值也需要包成陣列,structure,或物件。
你j某c某是在哪裡學的什麼新型VBA,
不但用return傳回還可以一次回傳多個值又不用轉換成字串,簡直宇宙最強。
但是我用得到的VBA就是上述那樣。
如果你們可以,請在excel VBA editor內寫出正確可以執行的程式供大家佐證。
--
從前有個馬鈴薯王國 有個高貴偉大的國王
有的人尊敬他 有的人畏懼他 但有個人敢看不起他不只是一條龍
嘿呵 快出動 去征服 去擺平 嘿呵 快出征 去征服那條龍
嘿呵 快出動(宰了它!轟了它!)嘿呵 快出征 去征服那條龍
:■ Potatoes and Dragons (C)Alphanim France 2004-05 :.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.163.12.174
... <看更多>