簡介
學會VBA,菜鳥也高飛!(雙色)林書明鄧志偉著
ISBN 978-7-121-21506-3
2013年10月出版
定價:59.00元
288頁
16開
內容提要
《學會VBA,菜鳥也高飛!》的目的是讓讀者能夠在相對輕鬆的心情下,順利掌握Excel VBA的基本理念,並能夠根據書中所介紹的知識解決工作中遇到的一些基本問題,幫助讀者更高效地完成工作。該書對VBA知識獨特的解說,定能讓讀者在學習VBA時倍感輕鬆!
本書雖然定位於VBA入門書籍,但卻緊密結合職場實戰,相信書中介紹的解決問題的思路和編程技巧會給讀者帶來一些啟發。讀完本書,讀者會感受到:Excel VBA既簡單有趣又超級實用,每個人都能掌握,即使你是從來沒有接觸過編程的“文科生”!
目錄
第1章 VBA是什麼........................................................................................11.1 Excel的身體結構........................................................................................2
1.2 放下包袱輕鬆學習.....................................................................................6
1.3 通俗計算機工作原理..................................................................................7
第2章 第一個VBA程式 ................................................................................11
2.1 設計第一個VBA程式................................................................................11
2.2 打開含有VBA的程式................................................................................17
2.3 VBA代碼放置的位置................................................................................20
2.4 其實你早就在“編程”............................................................................25
第3章 VBA中的等號...................................................................................30
3.1 VBA中等號的第一種含義........................................................................30
3.2 VBA中等號的第二種含義........................................................................32
第4章 VBA編程再探索 ................................................................................34
第5章 正式開始VBA編程之旅......................................................................43
5.1 單調的事情重複做...................................................................................48
5.2 從簡單的程式開始...................................................................................53
5.3 一點點修改...............................................................................................53
5.4 增加一點顏色...........................................................................................56
5.5 讓VBA代碼更簡潔....................................................................................60
5.6 單個單元格的引用...................................................................................63
5.7 單元格區域的引用...................................................................................63
5.8 用Excel宏替我們寫代碼...........................................................................65
第6章 VBA是一種語言................................................................................71
6.1 條件結構...................................................................................................71
6.2 分支結構...................................................................................................77
6.3 循環結構...................................................................................................80
6.3.1For…to循環......................................................................................................80
6.3.2For Each…循環................................................................................................81
6.3.3Do Until…循環.................................................................................................83
6.3.4 追蹤程式的執行...............................................................................................85
6.3.5 跳出循環.........................................................................................................86
6.3.6 強制中斷程式的執行.......................................................................................88
6.3.7VBA真的很簡單...............................................................................................89
第7章 Excel就是小怪獸..............................................................................91
7.1 VBA是魔法師的咒語................................................................................92
7.2 小怪獸的“身體結構”............................................................................95
第8章 對象!對象!!................................................................................98
8.1 屬性、方法、事件.................................................................................101
8.1.1 屬性................................................................................................................102
8.1.2 方法................................................................................................................103
8.1.3 事件................................................................................................................103
8.1.4 事件參數Target和Cancel................................................................................108
8.2 Workbook事件.........................................................................................111
8.2.1Workbook的Open事件.....................................................................................112
8.2.2Workbook的BeforeClose事件..........................................................................114
8.2.3Open和BeforeClose配合使用..........................................................................115
8.3 Worksheet事件........................................................................................117
8.3.1Worksheet的Calculate事件.............................................................................117
8.3.2Worksheet的SelectionChange事件...................................................................118
8.4 Application事件......................................................................................120
8.4.1OnTime事件....................................................................................................121
8.4.2OnKey事件......................................................................................................122
8.5 對象就是小動物.....................................................................................124
8.6 探索Excel對象........................................................................................124
8.7 案例:讓Excel自動工作.........................................................................130
8.8 Excel中的集合對象................................................................................136
第9章 VBA變數類型.................................................................................140
9.1 數值變數.................................................................................................143
9.2 字元串變數.............................................................................................143
9.3 對象變數.................................................................................................144
9.4 使用對象變數的好處..............................................................................145
9.4.1 代碼簡潔,程式高效......................................................................................145
9.4.2 提供自動提示功能.........................................................................................146
9.5 數組變數.................................................................................................147
9.5.1 一維數組變數.................................................................................................149
9.5.2 二維數組變數.................................................................................................151
9.5.3 數組與單元格區域.........................................................................................154
第10章 Sub子程式...................................................................................157
10.1 子程式示例...........................................................................................157
10.2 調用子程式...........................................................................................161
第11章 Function(函式) .........................................................................164
11.1 VBA自帶的函式...................................................................................165
11.1.1VBA測試函式.............................................................................................167
11.1.2VBA字元串函式.........................................................................................167
11.1.3VBA數學函式.............................................................................................168
11.1.4VBA轉換函式.............................................................................................168
11.1.5VBA時間函式.............................................................................................169
11.1.6VBA內置函式示例.....................................................................................170
11.2 自定義函式...........................................................................................172
11.2.1 工作表名稱列表.........................................................................................173
11.2.2 獲取當前工作表的名稱..............................................................................176
11.2.3 分離字元和數字.........................................................................................177
11.2.4 數單元格顏色.............................................................................................180
11.2.5 連線區域中的字元.....................................................................................182
11.2.6 一對多查找.................................................................................................184
11.3 Sub和Function的區別...........................................................................186
11.3.1 如何調用子程式和函式..............................................................................189
第12章 VBA初學者容易走的彎路 ..............................................................195
12.1 充分調用內置功能................................................................................196
12.2 聲明對象類型.......................................................................................199
12.3 利用錄製宏探索對象............................................................................201
12.3.1 宏不能錄製VBA語句..................................................................................204
12.3.2 集合對象的操作.........................................................................................205
12.3.3End()函式....................................................................................................207
12.3.4CurrentRegion屬性......................................................................................208
12.3.5UsedRange屬性...........................................................................................208
12.3.6Offset()........................................................................................................209
12.3.7Union()函式.................................................................................................211
12.3.8Split()和Join()函式......................................................................................212
第13章 VBA程式調試...............................................................................214
13.1 單步執行(F8鍵)...............................................................................215
13.2 設定斷點(F9鍵)...............................................................................216
13.3MsgBox..................................................................................................217
13.4 Stop.......................................................................................................218
13.5 更多......................................................................................................219
第14章 經典VBA代碼詳解 ........................................................................220
14.1 拆分工作表...........................................................................................220
14.2 拆分工作簿...........................................................................................227
14.3 合併工作表...........................................................................................228
14.4 FileDialog對象......................................................................................230
14.5 合併工作簿...........................................................................................234
14.6 操作圖表...............................................................................................236
14.7 批量製作表格.......................................................................................247
第15章 綜合案例......................................................................................250
15.1 程式流程...............................................................................................251
15.2 界面設計...............................................................................................254
15.2.1 製作“貨物發票”表格..............................................................................254
15.2.2 命名“單元格區域”..................................................................................254
15.2.3 建立“資料庫”檔案..................................................................................258
15.3 程式設計...............................................................................................259
15.3.1 清空發票數據.............................................................................................260
15.3.2 保存到資料庫.............................................................................................262
15.3.3 調用子程式.................................................................................................267
結語:VBA,無他,唯手熟爾!..................................................................271
附錄A Excel快捷鍵....................................................................................273
作者簡介
林書明,MBA、微軟認證Excel專家、微軟認證Office大師,具有某知名外企不同崗位多年工作經驗,深諳微軟Office商務效率提升之道。作者主要關注如何利用Excel和Access提升部門和個人工作效率。鄧志偉,軟體工程碩士,信息系統項目管理師,金融行業從業者,參與過金融行業多個大型項目的開發和維護工作,曾獲得過“中國人民銀行科技進步三等獎”,除本職業務外,對微軟Office也保持著濃厚興趣。
前言
本書的讀者定位是沒有任何程式語言基礎,卻有志於學習VBA提高自己的工作效率的Excel“表哥表姐們”,即使你是文科生也能順利閱讀本書。什麼是VBA
本書是一本VBA編程入門的書籍,有些概念可能會在書中反覆地講解,目的是讓你在不斷的重複中把書中的知識變成自己掌握的實實在在的技能。我個人的觀點是,VBA既然是一種程式語言,一種比外語簡單得多並能和Excel對話的語言,那么適當的重複是必需的,學習一種語言,只有在適當的重複中才能變得熟練,甚至形成自己的“語感”,從而最終為己所用。一些從未接觸過編程的朋友經常有這樣的疑問:“我數學不好,能學會VBA編程嗎?”告訴大家,對於我們這些不是把編程作為職業的商務人士來說,用VBA編寫程式一般不會用到高深的數學知識,VBA編程所涉及的大多數商業情景,恐怕有國小數學知識加上自己已有的業務知識就足夠了。
VBA的實用性
此外, 相對於學習某種外語,VBA作為一種普及型的計算機語言簡直簡單得不得了。雖然使用英語單詞,但它沒有複雜的語法現象,沒有模稜兩可的雙關語,不用背誦成千上萬的辭彙。但簡單卻不意味著能力低下,我們決不能小看VBA的能力,學習一些Excel VBA的知識,能夠顯著地提高我們進行數據分析和處理相關工作的效率,收益將是巨大的。如何學習VBA
由於本書是一本Excel VBA入門書,因此不太可能面面俱到,本書的重點是讓讀者能夠在相對輕鬆的心情下,順利掌握Excel VBA的基本理念,並能夠根據本書所介紹的知識解決自己工作中遇到的一些基本問題,幫助自己更有效率地完成工作。本書所介紹的知識,我認為是屬於VBA中“投資回報率”最高的部分,如果讀完本書後你覺得不過癮,則可繼續閱讀Excel VBA的進階知識,但是我相信,學完該書介紹的VBA知識,定能讓你在學習VBA進階知識時感覺更輕鬆。雖然本書只是一本VBA入門書,但是緊密結合實戰是本書的一大特點,相信書中介紹的解決問題的思路和編程技巧會給你帶來很大的啟發。讀完本書,你會覺得,VBA既簡單有趣又超級實用,每個人都能掌握VBA,即使你是從來沒有接觸過編程的文科生!