
0人評分過此書
第一次學Excel VBA就上手:從菜鳥成長為高手的技巧與鐵則
內容簡介:從奠定基礎到成為有能力解決問題的高手
本書的目的,就是幫助你成為能夠活用VBA的高手,可以運用VBA來提升工作效率。本書可以幫助您解決「寫出來的巨集程式會出現錯誤,可是不知道如何解決」、「不知道如何利用VBA整合外部資料,感覺好像學了VBA也不會用」、「不知道如何跟其他程式整合應用,感覺能夠做到的事情很少」、「不曉得如何匯入CSV或其他網頁內容等外部資料」之類的困擾,實踐真正的自動化,有效地提升工作效率。
透過本書,您將可以學到:
.編寫VBA程式的正確作法
.有效率的VBA撰寫方法及「物件化和重複使用」的觀念
.與Word及Outlook、CSV及網頁資料等非Excel的整合方法
.讓其他使用者也能輕易地使用您所開發的巨集
來自讀者的讚譽
"想要學好VBA,買這本就對了!"
"寫得簡單易懂,而且提供的範例真的很實用"
"內容精彩豐富,只要認真看完,你的VBA功力一定大增"
"範例程式碼寫得簡單易懂,對於自學者而言非常友善"
"其他書沒有解釋到的地方,這本書都有清楚的說明"
本書的目的,就是幫助你成為能夠活用VBA的高手,可以運用VBA來提升工作效率。本書可以幫助您解決「寫出來的巨集程式會出現錯誤,可是不知道如何解決」、「不知道如何利用VBA整合外部資料,感覺好像學了VBA也不會用」、「不知道如何跟其他程式整合應用,感覺能夠做到的事情很少」、「不曉得如何匯入CSV或其他網頁內容等外部資料」之類的困擾,實踐真正的自動化,有效地提升工作效率。
透過本書,您將可以學到:
.編寫VBA程式的正確作法
.有效率的VBA撰寫方法及「物件化和重複使用」的觀念
.與Word及Outlook、CSV及網頁資料等非Excel的整合方法
.讓其他使用者也能輕易地使用您所開發的巨集
來自讀者的讚譽
"想要學好VBA,買這本就對了!"
"寫得簡單易懂,而且提供的範例真的很實用"
"內容精彩豐富,只要認真看完,你的VBA功力一定大增"
"範例程式碼寫得簡單易懂,對於自學者而言非常友善"
"其他書沒有解釋到的地方,這本書都有清楚的說明"
-
第1章 首先要學習讓VBA容易閱讀的技巧
-
只要改變「命名」方式就能防範缺失並輕易找出錯誤原因
-
造成混淆的原因在於「命名」 ?
-
正確命名vs. 錯誤命名
-
程式碼的記法「駝峰式」 與「蛇式」
-
VBA比較適合哪種命名法?
-
變數名稱短未必「不好」 ?
-
應該使用中文變數名稱或程序名稱?
-
-
宣告變數的類型!避免誤入錯誤陷阱
-
為什麼變數最好要宣告類型?
-
別省略變數類型!這樣可以提高易讀性
-
設定「要求變數宣告」,防止忘記宣告或拼字錯誤
-
-
適當縮排與換行讓程式碼容易閱讀
-
無換行及縮排的程式碼vs. 有換行及縮排的程式碼
-
利用縮排呈現程式碼的階層
-
適度換行顯示程式碼的「區塊」
-
如何讓程式碼中途換行?
-
-
寫上註解來說明程式
-
何謂適當的註解?
-
註解愈多愈好?
-
-
-
第2章 運用變數與常數提高可讀性及維護性
-
善用常數
-
何謂常數?
-
假如不使用常數,而是在程式內直接輸入數值的缺點是?
-
常數的特色
-
使用常數改善程式提升可維護性及便利性
-
把字串也變成常數可以統一管理!
-
-
「這個變數可以用在哪裡?」 瞭解有效範圍(Scope)
-
這樣做是多餘的?到處宣告相同的變數
-
其他程序可以重複利用已經用過的變數嗎?
-
瞭解變數的有效範圍(Scope)
-
「模組」 與「程序」
-
區域變數
-
模組層級變數
-
全域變數
-
是否要將所有變數都變成全域變數?
-
妥善運用常數的有效範圍(Scope)
-
-
-
第3章 把程序物件化,寫出可重複使用的程式
-
過長的程序要分割、物件化
-
分割程式並物件化
-
利用分割簡化程式流程
-
無法在其他程序參照區域變數
-
重點整理
-
-
第4章 用含參數的程序簡單描述複雜的處理
-
在Sub程序設定參數,擴大運用範圍
-
增加了好幾個類似的Sub程序...,難道不能整合成一個?
-
利用含參數的Sub程序整合,讓程式變得簡潔俐落!可彈性運用且方便維護
-
含參數的Sub程序寫法
-
這樣仍缺乏彈性,難道不能增加參數嗎?
-
含兩個以上參數的Sub程序範例
-
含兩個以上參數的Sub程序寫法
-
「Optional」 可以省略參數
-
-
使用「Function程序」 傳回值的應用技巧
-
我想把處理結果當作傳回值...此時要使用Function程序
-
Function程序的使用範例1(無參數)
-
Function程序的寫法1(無參數)
-
Function程序的使用範例2(有參數)
-
Function程序的寫法2(有參數)
-
-
-
第5章 結合外部應用程式擴大運用範圍(1)Word篇
-
可以自動進行插入列印或收集資料
-
物件參照設定:用Excel VBA操作Word的第一步
-
參照Word物件程式庫的設定方法
-
啟動、關閉Word應用程式
-
如何啟動Word?
-
何謂物件變數?用途是?
-
使用物件變數參照Word
-
關閉Word
-
-
開啟、關閉用Word儲存的文件
-
關閉Word文件
-
-
取得或插入Word的字串
-
利用Range物件取得文件的特定範圍
-
使用Paragraphs集合設定段落
-
在段落開頭插入字串
-
利用Tables集合設定表格
-
-
將Excel的字串插入Word並列印、儲存檔案
-
將Excel的字串插入Word並列印
-
取得表格的最後一列,並從開頭到最後一列重複執行
-
在文件的各個位置插入資料
-
列印、輸出為PDF 格式、儲存文件檔案
-
-
-
第6章 結合外部應用程式擴大運用範圍(2)Outlook篇
-
執行Outlook物件程式庫的參照設定
-
開啟Outlook的新增電子郵件視窗
-
啟動Outlook
-
顯示新增電子郵件視窗
-
刪除物件變數參照
-
-
使用Outlook傳送電子郵件(一封)
-
使用Outlook傳送一封電子郵件
-
輸入電子郵件資料
-
添加電子郵件的附件
-
預覽/儲存草稿/傳送電子郵件
-
-
使用Outlook統一傳送電子郵件
-
使用Outlook一次傳送多封電子郵件
-
取得最後一列並從第2 列到最後一列反覆執行
-
輸入電子郵件內容(依每個收件者改變值)
-
傳送電子郵件(或預覽、儲存草稿)
-
-
在Excel從Outlook取得電子郵件的方法(一封)
-
在Excel從Outlook取得電子郵件
-
瀏覽Outlook應用程式,取得NameSpace物件
-
取得收件匣,輸出收件匣最新的第一封郵件
-
取得子資料夾,輸出子資料夾最新的第一封郵件
-
刪除物件變數參照
-
-
從Outlook取得多封電子郵件至Excel
-
從Outlook取得多封電子郵件
-
取得收件匣物件,依收信日期與時間降冪排列
-
從最新的前10封電子郵件取得資料
-
-
-
第7章 結合外部應用程式擴大運用範圍(3)Internet Explorer篇
-
啟動IE開啟特定網頁
-
啟動IE應用程式
-
如何啟動IE應用程式?
-
顯示IE視窗
-
連到指定的URL
-
在Excel顯示訊息
-
退出IE應用程式,刪除物件變數參照
-
-
從網站取得資料
-
如何從網站取得資料?
-
等待網頁載入完成(Busy屬性、ReadyState屬性)
-
取得網頁的HTML Document物件
-
輸出網頁標題及內容
-
-
取得網站的資料(使用DOM)
-
HTML是使用「標籤」呈現網頁
-
HTML為階層式結構(DOM:Document Object Model)
-
從網站取得資料的程式範例
-
在變數儲存HTMLDocument物件
-
取得使用標籤包圍的文字(title標籤)
-
取得用標籤包圍的元素(h1標籤)
-
取得用標籤包圍的多個元素(p標籤)
-
從表格取得各個儲存格
-
表格結構
-
標籤名稱如果與「th」 或「td」一致就提取文字
-
-
連續取得網站的物件資料
-
整個程式的概要
-
取得HTMLDocument物件
-
取得類別元素的數量(getElementsByClassName)
-
利用For迴圈依序取得所有list類別並放入變數內
-
為什麼要先把元素放入變數內?
-
從每個元素提取資料
-
重點整理
-
-
自動操作表單
-
查詢表單的各個元素
-
操作選取框,改變類別
-
操作單行文字框並輸入搜尋關鍵字
-
操作傳送按鈕,執行搜尋
-
重點整理
-
-
-
第8章 結合外部資料擴大運用範圍(1)文字資料篇
-
寫入文字檔
-
把文字檔的路徑儲存在變數內
-
開啟/關閉文字檔
-
在文字檔寫入一行文字
-
-
輸出執行巨集的log
-
從主程序傳遞字串當作參數
-
輸出log的程序會取得參數並輸出文字
-
補充說明:自動取得檔案編號的FreeFile函數
-
希望發生錯誤時留下錯誤記錄檔
-
-
讀取文字檔
-
如何讀取文字檔輸出至Excel工作表?
-
讀取文字檔的路徑並儲存在變數裡
-
使用FreeFile函數自動取得檔案編號
-
開啟文字檔(最後關閉)
-
逐行儲存在變數內並寫入工作表
-
用Tab分隔號分割並寫入工作表
-
補充說明:不曉得陣列的元素數量?
-
補充說明:載入CSV檔案,也能用逗號(,)分隔,寫入儲存格內
-
-
-
第9章 結合外部資料擴大運用範圍(2)CSV資料篇
-
載入CSV檔案
-
載入CSV檔案時要注意「亂碼」
-
物件的參照設定:使用ADO的準備工作
-
使用ADO載入CSV檔案
-
-
輸出CSV檔案
-
-
第10章 利用容錯力強大的巨集提高易用性
-
製作容錯力強大的巨集
-
容易成為錯誤溫床的巨集範例
-
撰寫不會發生錯誤,可以防範未然的程式
-
即使發生錯誤也可以處理的結構(On Error Resume Next)
-
發生錯誤時,跳到另一個處理程序(On Error GoTo)
-
重點整理 製作容錯力強大的巨集
-
-
第11章 加快巨集的速度,提高易用性
-
利用工作表函數執行高速處理(WorksheetFunction)
-
案例1:使用VLOOKUP函數進行快速搜尋
-
使用VLOOKUP函數(WorksheetFunction.Vlookup)
-
案例2:利用COUNTIF函數,快速計算數量
-
使用COUNTIF函數(WorksheetFunction.Countif)
-
重點整理 其他工作表函數
-
-
使用陣列快速處理
-
逐一寫入儲存格很花時間。先把值儲存在陣列再一次寫入!
-
案例 ①:合併地址再寫入(使用陣列)
-
宣告陣列(固定長度陣列與動態陣列)
-
把儲存在陣列內的值一次寫入儲存格
-
案例 ②:分割郵遞區號,寫入儲存格內(二維陣列)
-
逐列處理並在陣列儲存結果
-
將儲存在陣列內的值一次寫入儲存格
-
重點整理
-
-
如果需要較長時間,就顯示進度條
-
準備使用者表單
-
在模組輸入主程式(執行50000次)
-
顯示/隱藏進度條以及初始化/更新處理
-
避免取消或執行時發生錯誤
-
重點整理
-
-
-
第12章 建立團隊用的VBA,讓其他成員也能安心使用
-
利用事件程序建立操作之後即刻執行的巨集
-
選取儲存格後執行處理(SelectionChange/Change事件)
-
按兩下滑鼠左鍵後執行處理(BeforeDoubleClick/SheetBeforeDoubleClick事件)
-
在儲存格輸入後自動執行處理(SheetChange/Change程序)
-
重點整理
-
-
利用使用者表單製作外觀也方便辨識的巨集
-
建立使用者表單
-
啟動使用者表單的方法
-
使用者表單的初始化處理(UserForm_Initialize)
-
建立執行處理的按鈕
-
重點整理
-
-
- index(VBA)
- index(KEYWORDS)
- 出版地 : 臺灣
- 語言 : 繁體中文
評分與評論
請登入後再留言與評分