0人評分過此書

第一次學Excel VBA就上手:從菜鳥成長為高手的技巧與鐵則

出版日期
2021
閱讀格式
PDF
書籍分類
學科分類
ISBN
9789865028343

本館館藏

借閱規則
當前可使用人數 30
借閱天數 14
線上看 0
借閱中 0
選擇分享方式

推薦本館採購書籍

您可以將喜歡的電子書推薦給圖書館,圖書館會參考讀者意見進行採購

讀者資料
圖書館
* 姓名
* 身分
系所
* E-mail
※ 我們會寄送一份副本至您填寫的Email中
電話
※ 電話格式為 區碼+電話號碼(ex. 0229235151)/ 手機格式為 0900111111
* 請輸入驗證碼
內容簡介:從奠定基礎到成為有能力解決問題的高手
本書的目的,就是幫助你成為能夠活用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)

評分與評論

請登入後再留言與評分
幫助
您好,請問需要甚麼幫助呢?
使用指南

客服專線:0800-000-747

服務時間:週一至週五 AM 09:00~PM 06:00

loading