産品特色
編輯推薦
Excel Home又一力作,傳授一句頂一萬句的“懶人心法”,教你一鍵搞定所有報錶。
《彆怕,ExcelVBA其實很簡單》內容淺顯易懂,即便初學者沒有編程基礎也能看得懂。看ExcelHome網站創始人、站長,中國傑齣的微軟全球有價值專傢(MVP)Kevin以及Excel Home官方微博管理員、ExcelHome免費在綫培訓中心受喜愛的講師之一葉楓,如何搭乘VBA,讓效率飛起來。
《彆怕,ExcelVBA其實很簡單》采用雙色印刷,配有大量插畫,采用輕鬆易懂的方式介紹VBA。VBA不是Excel的全部,卻是成為Excel高手的必經之路,閱讀《彆怕,ExcelVBA其實很簡單》,體驗恍然大悟的愉悅,發現節約時間的快樂。
《彆怕,Excel VBA其實很簡單》的視頻教程和相關代碼可從ExcelHome網站()免費獲取。
內容簡介
《彆怕,Excel VBA其實很簡單》考慮到大多數讀者沒有編程基礎的實際情況,用淺顯易懂的語言和生動形象的比喻,並配閤大量插畫,介紹Excel中看似復雜的概念和代碼、從簡單的宏錄製、VBA編程環境和基礎語法的介紹,到常用對象的操作與控製、Excel事件的調用與控製、用戶界麵設計、代碼調試與優化、都進行瞭形象的介紹。
《彆怕,Excel VBA其實很簡單》適閤想提高工作效率的辦公人員,特彆是經常需要處理、分析大量數據的相關人員,以及財經專業的高校師生閱讀。
作者簡介
羅國發,網名ggsmart,人稱葉楓,Excel Home官方微博管理員,ExcelHome免費在綫培訓中心受歡迎的講師之一。中學教師,擁有豐富的教育培訓經驗,擅長Excel數據處理與分析,在使用ExcelVBA編程方麵擁有豐富的學習心得和實踐經驗。其發錶於Excel Home的技術帖和課件成為大量ExcelVBA初學者的啓濛教材。
周慶麟,網名Kevin,中國的微軟全球有價值專傢(MVP),ExcelHome創始人、站長,多年來從事於企業財務和信息化管理工作,對MicrosoftOffice在銷售、財務、物流和公司管理方麵的應用有著深入的研究,曾參與策劃和編寫瞭幾十本暢銷Office技術圖書。同時也是一名技術顧問和培訓講師,有豐富的授課經驗。
內頁插圖
精彩書評
——————VBA,讓效率飛起來————————
【當加班成為常態,改變在所難免】
十年前的我,加班是傢常便飯的事,每天成堆的工作任務總是壓得我喘不過氣來,我和同事們就像一枚枚棋子蜷縮在辦公室裏,在電腦前緊張地忙碌著,不知目睹瞭多少個華燈初上到燈火闌珊的夜晚。
2000年8月的一天,我的目標是完成生産成本核算係統的一個報錶模塊的開發。有瞭它,就可以方便地查詢和計算每一種産成品在任意一個工序上的成本明細項目,還可以在不同月份之間進行結轉、對比。
我喜歡在晚間寫程序,因為晚上安靜,能讓我思路飛揚,讓代碼隨著鍵盤聲快速的推進,等待大功告成的那一刻齣現。
你不會以為我是程序員吧?
不,我是一名財務部的成本主管,就職於一傢製造型企業。公司雖有IT部門,但是沒有程序員。說白瞭,我隻是韆百萬個成天和Excel錶格耳鬢廝磨的普通一員。
我們公司的産品有幾十種,涉及到的材料有幾韆種,每個産品又有N道工序,每道工序由數量不等的作業人員進行生産。我的工作,就是計算和分析所有産成品和半成品的生産成本,包括材料、人工和雜費。計算依據主要包括生産部門提交的各産品工序的工時記錄錶,倉庫提交的材料進銷數據,HR部門提供的工資單明細。
這樣的計算任務並不輕鬆,且不論計算目標復雜,原始數據繁多,有些甚至不是電子檔,而且隻有我一個人,要命的是時間總是非常的緊張,因為每個月交報錶的時間是固定的。
也許你想問,這麼復雜的計算用Excel?你們公司難道沒有ERP嗎?
有的,而且我們公司的ERP聲名不小,價格不菲。但在我看來,公司的ERP雖有一定的作用,不過卻存在很多局限性,局部綫條偏粗,又有些笨拙,很難給齣我需要的結果。
所以,我必須藉助Excel。
迴想中學時政治課所學的知識,資本傢為瞭榨取更多的剩餘價值,有兩種方法:一是延長工作時間,二是提高生産效率。我現在清楚地意識到,為瞭及時準確地完成計算任務,方法是同樣的兩個:要麼加班,要麼提高工作效率。
我當然不願意做無意義的加班。同時,這類加班的産齣也是有限的,並不能解決任務重時間緊的根本性問題。
所以,我必須提高效率。
目錄
第1章 走進Excel VBA的世界
1.1 不會Excel的人,真傷不起
1.1.1 做不完的錶
1.1.2 神速的"超人"
1.1.3 你是怎樣做工資條的
1.2 走自己的"錄",讓彆人重復去吧
1.2.1 什麼是宏
1.2.2 用宏錄下Excel操作
1.2.3 讓錄下的操作再現一遍
1.3 還可以怎樣執行宏
1.3.1 給宏設置快捷鍵
1.3.2 將宏指定給按鈕
1.3.3 將宏指定給常用工具欄按鈕
1.4 是誰"擋住"瞭宏
1.4.1 宏為什麼不能工作瞭
1.4.2 怎樣修改宏安全級
1.5 VBA,Excel裏的編程語言
1.5.1 錄製宏不能解決的問題
1.5.2 讓工資條一"輸"到底
1.5.3 VBA編程,讓你的錶格更加靈活
1.5.4 什麼是VBA
1.5.5 宏和VBA有什麼關係
第2章 開始VBA編程的第一步
2.1 揭開神秘麵紗背後的真麵目
2.1.1 程序保存在哪裏
2.1.2 應該怎樣編寫程序
2.2 程序裏都有什麼
2.2.1 代碼
2.2.2 過程
2.2.3 模塊
2.2.4 對象
2.2.5 對象的屬性
2.2.6 對象的方法
2.2.7 關鍵字
2.3 VBA的編程環境--VBE
2.3.1 打開VBE編輯器
2.3.2 主窗口
2.3.3 菜單欄
2.3.4 工具欄
2.3.5 工程資源管理器
2.3.6 屬性窗口
2.3.7 代碼窗口
2.3.8 立即窗口
2.4 試寫一個簡單的VBA程序
2.4.1 添加或刪除模塊
2.4.2 動手編寫程序
2.5 解除疑惑,一"鍵"傾心
第3章 Excel VBA基礎語法
3.1 語法,編程的基礎
3.1.1 這個笑話很涼快
3.1.2 VBA也有語法
3.1.3 學習VBA語法難嗎
3.2 VBA裏的數據類型
3.2.1 打醬油的故事
3.2.2 走進Excel的商店
3.2.3 VBA中有哪些數據類型
3.3 存儲數據的容器:常量和變量
3.3.1 常量和變量
3.3.2 使用變量
3.3.3 使用常量
3.3.4 使用數組
3.4 集閤、對象、屬性和方法
3.4.1 對象,就像冰箱裏的雞蛋
3.4.2 對象的屬性
3.4.3 對象的方法
3.5 連接的橋梁,VBA中的運算符
3.5.1 算術運算符
3.5.2 比較運算符
3.5.3 連接運算符
3.5.4 邏輯運算符
3.5.5 應該先進行什麼運算
3.6 內置函數
3.6.1 VBA中的函數
3.6.2 VBA中有哪些函數
3.7 控製程序執行,VBA的基本語句結構
3.7.1 If…Then語句
3.7.2 Select Case語句
3.7.3 For…Next語句
3.7.4 Do While語句
3.7.5 Do Until語句
3.7.6 For Each…Next語句
3.7.7 其他的常用語句
3.8 Sub 過程,基本的程序單元
3.8.1 關於VBA過程
3.8.2 編寫Sub過程需要瞭解的內容
3.8.3 從另一個過程執行過程
3.8.4 過程的作用域
3.9 自定義函數,Function過程
3.9.1 試寫一個函數
3.9.2 使用自定義函數
3.9.3 怎麼統計指定顔色的單元格個數
3.9.4 聲明函數過程,規範的語句
3.10 閤理地組織程序,讓代碼更優美
3.10.1 代碼排版,必不可少的習慣
3.10.2 怎樣排版代碼
3.10.3 注釋,讓代碼的意圖清晰明瞭
第4章 常用對象
4.1 與Excel交流,需要熟悉的常用對象
4.1.1 VBA編程與炒菜
4.1.2 VBA是怎麼控製Excel的
4.1.3 應該記住哪些對象
4.2 一切由我開始,最頂層的Application對象
4.2.1 ScreenUpdating屬性
4.2.2 DisplayAlerts屬性
4.2.3 EnableEvents屬性
4.2.4 WorksheetFunction屬性
4.2.5 給Excel梳妝打扮
4.2.6 她和她的孩子們
4.3 管理工作簿,瞭解Workbook對象
4.3.1 Workbook與Workbooks
4.3.2 認識Workbook,需要瞭解的信息
4.3.3 實際操作,都能做什麼
4.3.4 ThisWorkbook與ActiveWorkbook
4.4 操作工作錶,認識Worksheet 對象
4.4.1 認識Worksheet對象
4.4.2 操作工作錶
4.4.3 Sheets與Worksheets
4.5 核心,至關重要的Range對象
4.5.1 多種方法引用Range對象
4.5.2 還可以怎樣得到單元格
4.5.3 操作單元格,還需要瞭解什麼
4.5.4 親密接觸,操作單元格
4.6 不止這些,其他常見的對象
4.6.1 名稱,Names集閤
4.6.2 單元格批注,Comment對象
4.6.3 給單元格化妝
4.7 典型的技巧與示例
4.7.1 創建一個工作簿
4.7.2 判斷工作簿是否打開
4.7.3 判斷工作簿是否存在
4.7.4 嚮未打開的工作簿中錄入數據
4.7.5 隱藏活動工作錶外的所有工作錶
4.7.6 批量新建工作錶
4.7.7 批量對數據分類
4.7.8 將工作錶保存為新工作簿
4.7.9 快速閤並多錶數據
4.7.10 匯總同文件夾下多工作簿數據
4.7.11 為工作錶建立目錄
第5章 Excel事件
5.1 讓Excel自動響應你的行為
5.1.1 讓Excel自動問好
5.1.2 事件,VBA裏的自動開關
5.1.3 事件過程
5.1.4 編寫事件過程
5.2 Worksheet事件
5.2.1 關於Worksheet事件
5.2.2 常用的Worksheet事件
5.2.3 Worksheet事件列錶
5.3 Workbook事件
5.3.1 關於Workbook事件
5.3.2 常用的Workbook事件
5.3.3 Workbook事件列錶
5.4 彆樣的自動化
5.4.1 MouseMove事件
5.4.2 不是事件的事件
5.5 典型的技巧與示例
5.5.1 一舉多得,快速錄入數據
5.5.2 我該監考哪一場
5.5.3 讓文件每隔一分鍾自動保存一次
第6章 用戶界麵設計
6.1 在Excel中自由地設計界麵
6.1.1 關於用戶界麵
6.1.2 控件,必不可少的調色盤
6.2 使用控件,將工作錶當作畫布
6.2.1 在工作錶中使用窗體控件
6.2.2 在工作錶中使用ActiveX控件
6.2.3 窗體控件和ActiveX控件的區彆
6.3 與用戶交互,簡單的輸入輸齣對話框
6.3.1 InputBox 函數
6.3.2 Application對象的InputBox方法
6.3.3 MsgBox函數
6.3.4 Application對象的FindFile方法
6.3.5 Application對象的GetOpenFilename方法
6.3.6 Application對象的GetSaveAsFilename方法
6.3.7 Application對象的FileDialog屬性
6.4 構建用戶窗體,自己設計交互界麵
6.4.1 關於用戶窗體
6.4.2 添加一個用戶窗體
6.4.3 設置窗體的屬性
6.4.4 在窗體上添加控件
6.4.5 顯示窗體
6.4.6 關閉窗體
6.4.7 使用控件
6.4.8 用鍵盤控製控件
6.5 改造Excel現有的界麵
6.5.1 更改標題欄的程序名稱
6.5.2 顯示或隱藏菜單欄
6.5.3 顯示或隱藏工具欄
6.5.4 設置窗口
6.5.5 其他設置
6.6 典型的技巧或示例
6.6.1 設計一張調查問捲
6.6.2 職工信息管理界麵
6.6.3 一個簡易的登錄窗體
第7章 代碼調試與優化
7.1 VBA中可能會發生的錯誤
7.1.1 編譯錯誤
7.1.2 運行時錯誤
7.1.3 邏輯錯誤
7.2 VBA程序的3 種狀態
7.2.1 設計模式
7.2.2 運行模式
7.2.3 中斷模式
7.3 Excel已經準備好的調試工具
7.3.1 讓程序進入中斷模式
7.3.2 為程序設置斷點
7.3.3 使用Stop語句
7.3.4 使用立即窗口
7.3.5 使用本地窗口
7.3.6 使用監視窗口
7.4 錯誤處理的藝術
7.4.1 Go Error GoTo標簽
7.4.2 On Error Resume Next
7.4.3 On Error GoTo 0
7.5 讓代碼跑得更快一些
7.5.1 閤理地使用變量
7.5.2 避免反復引用相同的對象
7.5.3 盡量使用函數完成計算
7.5.4 去掉多餘的激活和選擇
7.5.5 閤理使用數組
7.5.6 關閉屏幕更新
前言/序言
掌控數據,解放雙手:Excel VBA實戰入門 還在為重復繁瑣的數據處理而煩惱嗎?還在羨慕他人能夠輕鬆自動化辦公流程嗎?《彆怕,Excel VBA其實很簡單(全新基礎學習版)》將是你開啓Excel自動化之旅的理想夥伴。本書旨在為零基礎的學習者提供一套係統、易懂、實用的Excel VBA學習方案,讓你告彆枯燥的代碼,擁抱高效的數據處理新時代。 誰需要這本書? Excel重度用戶: 每天都要麵對大量錶格數據,進行復製粘貼、格式調整、公式計算等重復性操作,希望擺脫機械勞動。 初涉職場的學生或新人: 希望提升自己在職場中的競爭力,掌握一項能夠快速解決實際工作問題的技能。 對自動化辦公感興趣的人: 想要瞭解如何通過編程讓Excel變得更智能,提升工作效率。 渴望學習編程但畏懼復雜概念的讀者: VBA作為一種易於上手的編程語言,是學習編程的絕佳起點。 本書能帶給你什麼? 本書不僅僅是枯燥的代碼羅列,更是一次循序漸進的思維啓濛和技能培養。我們將從最基礎的概念講起,逐步深入,讓你在實際操作中掌握VBA的精髓。 第一部分:走進VBA的世界——基礎認知與準備 在正式接觸代碼之前,你需要對VBA有一個初步的認識。本部分將為你打下堅實的基礎: 理解VBA的重要性: 為什麼你需要學習VBA?它能為你解決什麼實際問題?我們將通過生動的案例,讓你切身感受到VBA的強大魔力。例如,假設你每天都需要從幾十個Excel文件中提取特定的數據並匯總到一個總錶中,手動操作可能需要花費數小時,而VBA腳本可以瞬間完成。 認識Excel VBA編輯器(VBE): VBE是編寫、調試和運行VBA代碼的“大本營”。我們將詳細介紹VBE的界麵布局、各個窗口的功能(如工程資源管理器、屬性窗口、代碼窗口),並指導你如何打開和使用它。你將學會如何在VBE中創建模塊、用戶窗體等基本元素。 宏(Macro)的奧秘: 宏是VBA最直觀的應用形式。本書將首先講解如何錄製和運行簡單的宏,讓你快速體驗自動化帶來的便捷。通過錄製功能,你可以直觀地看到Excel在執行你的操作時生成的VBA代碼,這有助於你理解代碼與操作之間的關係。 VBA的第一個“Hello, World!”: 告彆抽象的概念,我們立刻動手編寫屬於你自己的第一個VBA程序。通過一個簡單的“Hello, World!”小程序,讓你體驗編寫、運行代碼的樂趣,並初步瞭解VBA程序的執行流程。 第二部分:掌握VBA核心要素——讓代碼“動”起來 本部分是學習VBA的重頭戲,我們將聚焦於VBA的核心語法和對象模型,讓你能夠編寫齣更強大、更靈活的代碼。 變量的聲明與使用: 任何程序都離不開變量。我們將講解不同數據類型(如文本、數字、日期)的變量聲明方法,以及變量在程序中的作用和賦值技巧。例如,你可以聲明一個變量來存儲某個單元格的值,並在後續的操作中使用這個值。 常用對象及其屬性和方法: Excel VBA是圍繞“對象”來構建的。我們將深入講解Excel中最核心的對象,如: Application對象: 代錶整個Excel應用程序。 Workbook對象: 代錶Excel工作簿。 Worksheet對象: 代錶Excel工作錶。 Range對象: 代錶Excel中的一個或多個單元格。 Chart對象: 代錶Excel中的圖錶。 我們將詳細介紹這些對象常用的屬性(如`.Value`、`.Address`、`.Count`)和方法(如`.Copy`、`.Paste`、`.ClearContents`),讓你能夠通過代碼操控Excel的各個元素。例如,你可以使用`.Value`屬性讀取或寫入單元格內容,使用`.ClearContents`方法清空單元格。 控製流程:讓你的程序“思考”——條件語句與循環語句: If...Then...Else語句: 學習如何根據不同的條件執行不同的代碼塊,實現程序的判斷和分支。例如,你可以編寫一個程序,當某個單元格的值大於100時,就將其設置為紅色。 Select Case語句: 針對多重條件的判斷,提供更簡潔的代碼結構。 For...Next循環: 學習如何重復執行一段代碼固定次數,例如遍曆一個範圍內的所有單元格,對每個單元格進行處理。 Do While/Until...Loop循環: 學習如何根據條件來決定循環是否繼續執行,適用於處理未知次數的重復操作。 通過這些控製語句,你的程序將不再是機械的執行者,而是能夠根據情況做齣智能判斷和高效重復。 過程(Sub)與函數(Function): 學習如何將代碼組織成可重用的模塊。Sub過程用於執行一係列操作,而Function函數則用於計算並返迴一個值。你將學會如何定義自己的過程和函數,提高代碼的可讀性和復用性。 第三部分:實戰演練——解決實際工作中的難題 理論知識的掌握最終是為瞭解決實際問題。本部分將通過一係列貼近工作場景的實例,讓你將所學知識融會貫通。 自動化數據錄入與整理: 批量導入數據: 假設你需要從多個文本文件中導入數據到Excel,本書將教你如何編寫VBA代碼,一次性完成這項耗時的工作。 數據校驗與清洗: 編寫程序自動檢查數據的閤法性,並對不符閤要求的數據進行處理(如刪除、修改、標記)。例如,你可以編寫一個腳本,檢查所有日期字段是否符閤標準格式,不符閤的則進行高亮提示。 數據閤並與拆分: 輕鬆實現多工作錶、多文件的縱嚮或橫嚮閤並,以及根據特定規則拆分數據。 自動化報錶生成: 動態圖錶製作: 學習如何根據數據變化自動更新圖錶,讓你的報錶更具時效性。 郵件發送與報告導齣: 編寫VBA代碼,自動將生成的報錶通過郵件發送給指定人員,極大提高信息傳遞效率。 條件格式的批量應用: 根據數據值自動應用不同的單元格格式,使報錶更加直觀易懂。 提升Excel操作效率: 批量修改單元格格式: 快速統一調整大量單元格的字體、顔色、對齊方式等。 查找與替換的智能化: 編寫VBA代碼實現更復雜的查找與替換邏輯,例如根據多個條件進行查找。 用戶自定義函數的編寫: 創造屬於你自己的Excel函數,解決Excel內置函數無法滿足的計算需求。 第四部分:進階與優化——讓你的VBA技能更上一層樓 在掌握瞭基礎和實戰技能後,本書還將引導你進行更深入的學習和優化。 錯誤處理: 學習如何預見和處理程序運行時可能齣現的錯誤,讓你的代碼更加健壯。例如,當用戶輸入無效數據時,程序能夠給齣友好的提示,而不是直接崩潰。 用戶窗體(UserForm): 學習如何設計和使用用戶自定義的對話框,讓你的VBA程序擁有更友好的交互界麵,方便用戶輸入信息或進行選擇。 事件驅動編程: 學習如何讓VBA代碼響應Excel中的特定事件(如打開工作簿、選擇單元格),實現更智能的自動化。 代碼優化與性能提升: 講解一些提高VBA代碼運行效率的技巧,讓你編寫齣更高效的程序。 本書的特色: 零基礎友好: 從最基本概念講起,無須任何編程基礎。 圖文並茂: 大量圖示和代碼示例,直觀易懂。 案例驅動: 緊密結閤實際工作場景,讓你學以緻用。 循序漸進: 由淺入深,逐步建立編程思維。 實用性強: 教授的技巧和方法能夠直接應用於日常工作。 學習效果: 通過學習《彆怕,Excel VBA其實很簡單(全新基礎學習版)》,你將能夠: 顯著提升工作效率: 將大量重復性、低價值的工作自動化,節省寶貴的時間。 提高數據處理能力: 輕鬆應對復雜的數據分析和報錶生成任務。 增強職業競爭力: 掌握一項在職場中備受歡迎的實用技能。 培養邏輯思維和解決問題的能力: 學習編程的過程本身就是一種思維訓練。 解放雙手,告彆加班: 將更多精力投入到更有價值的工作中。 不要再猶豫瞭! 立即拿起《彆怕,Excel VBA其實很簡單(全新基礎學習版)》,踏上掌控數據、解放雙手的徵程。你將驚喜地發現,Excel VBA的世界原來如此精彩,而你,也能成為一名高效的自動化達人!