出版時間:2008-7 出版社:人民郵電出版社 作者:(美)杰萊(Jelen,B.),(美)斯太德(Syrstad,T.) 著,郭兵英 譯 頁數(shù):520 字數(shù):783000 譯者:郭兵英
Tag標簽:無
內容概要
本書介紹了大量經過實踐檢驗的Excel技巧,幫助讀者迅速提高使用VBA開發(fā)Excel宏的技能,從而避免大量手工匯總數(shù)據(jù)和創(chuàng)建報表,節(jié)省用戶寶貴的時間?! ∪珪?7章,詳細介紹了以下內容:Excel宏錄制器和VBA語法,引用區(qū)域,使用用戶定義函數(shù),循環(huán)和流程控制,RlC1公式,使用VBA自動控制Excel 2007新增功能,事件編程,使用用戶窗體,創(chuàng)建圖表,實現(xiàn)高級篩選,創(chuàng)建數(shù)據(jù)透視表,數(shù)據(jù)可視化和條件格式,檢索Web數(shù)據(jù),使用數(shù)組,讀寫文本文件,創(chuàng)建自定義對象和集合,使用WindowsAPI,處理錯誤,創(chuàng)建自定義選項卡和加載項。 本書語言簡明清晰,內容實用,實例豐富,適合熟悉Excel并想自動完成日常工作或為他人創(chuàng)建Excel應用程序的人員閱讀。
書籍目錄
第1章 使用VBA發(fā)揮Excel的威力 1.1 Excel的威力 1.2 進入壁壘 1.3 宏錄制器不管用 1.3.1 Visual Basic并不像BASIC 1.3.2 VBA非常容易上手 1.3.3 Excel VBA值得學習 1.4 熟悉“開發(fā)工具”選項卡 1.5 宏安全性 1.5.1 添加受信任位置 1.5.2 使用宏設置啟用不在受信任位置的工作簿中的宏 1.5.3 使用設置“禁用所有宏,并發(fā)出通知” 1.6 錄制和存儲宏 1.7 運行宏 1.7.1 創(chuàng)建宏按鈕 1.7.2 將宏關聯(lián)到窗體控件、文本框或形狀 1.8 使用Excel 2007新增的文件類型 1.9 了解Visual Basic編輯器 1.9.1 Visual Basic編輯器設置 1.9.2 工程資源管理器 1.9.3 屬性窗口 1.10 了解宏錄制器的缺點 1.10.1 準備錄制宏 1.10.2 錄制宏 1.10.3 在編程窗口中查看代碼 1.10.4 其他時間運行該宏時得到意外的結果 1.10.5 一種可能的解決方案:在錄制時使用相對引用第2章 VBA簡介 2.1 VBA是一種面向對象語言 2.2 VBA語言的組成部分 2.3 VBA學起來并不難 2.3.1 VBA幫助文件-使用F1鍵獲取幫助 2.3.2 使用幫助主題 2.4 查看錄制的宏代碼——使用Visual Basic編輯器和幫助 2.4.1 可選參數(shù) 2.4.2 預定義常量 2.4.3 可返回對象的屬性 2.5 使用調試工具幫助理解錄制的代碼 2.5.1 步進執(zhí)行代碼 2.5.2 另一個調試選項——斷點 2.5.3 在代碼中向前或向后移動 2.5.4 不逐句運行每行代碼 2.5.5 在逐句執(zhí)行代碼時進行查詢 2.5.6 使用監(jiān)視設置斷點 2.5.7 監(jiān)視對象 2.6 所有對象、方法和屬性的終極參考信息 2.7 整理代碼的5項技巧 2.7.1 技巧1:不要選擇任何單元格 2.7.2 技巧2:從區(qū)域底部開始查找最后一行 2.7.3 技巧3:使用變量避免硬編碼行和公式 2.7.4 技巧4:在一條語句中進行復制和粘貼 2.7.5 技巧5:使用WithEnd With對相同的單元格或區(qū)域執(zhí)行多項操作 2.8 綜合應用——修復錄制的代碼第3章 引用區(qū)域 3.1 Range對象 3.2 使用選擇的左上角和右下角指定區(qū)域 3.3 命名區(qū)域 3.4 引用區(qū)域的快捷方式 3.5 引用其他工作表中的區(qū)域 3.6 引用相對于其他區(qū)域的區(qū)域 3.7 使用Cells屬性選擇區(qū)域 3.8 使用Offset屬性引用區(qū)域 3.9 使用Resize屬性修改區(qū)域的大小 3.10 使用Columns和Rows屬性指定區(qū)域 3.11 使用Union方法合并多個區(qū)域 3.12 使用Intersect方法根據(jù)重疊區(qū)域創(chuàng)建新區(qū)域 3.13 使用IsEmpty函數(shù)檢查單元格是否為空 3.14 使用CurrentRegion屬性快速選擇數(shù)據(jù)區(qū)域 3.15 使用區(qū)域集合返回非連續(xù)區(qū)域 3.16 引用數(shù)據(jù)表第4章 用戶定義的函數(shù) 4.1 創(chuàng)建用戶定義的函數(shù) 4.2 自定義函數(shù)示例 4.3 共享UDF 4.4 很有用的自定義函數(shù) 4.4.1 獲取工作簿的名稱 4.4.2 獲取當前工作簿的名稱和文件路徑 4.4.3 檢查工作簿是否打開 4.4.4 檢查工作表是否包含在打開的工作簿中 4.4.5 統(tǒng)計文件夾中的工作簿數(shù)量 4.4.6 獲取UserID 4.4.7 檢索最后一次保存的日期和時間 4.4.8 獲取固定不變的日期和時間 4.4.9 驗證電子郵件地址 4.4.10 根據(jù)內部顏色對單元格求和 4.4.11 統(tǒng)計非重復值的數(shù)量 4.4.12 刪除區(qū)域中重復的值 4.4.13 在區(qū)域中查找第一個非空單元格 4.4.14 替換多個字符 4.4.15 從文本中獲取數(shù)字 4.4.16 將星期編號轉換為日期 4.4.17 從用分隔符分隔的字符串中提取值 4.4.18 排序并拼接 4.4.19 對數(shù)字和字母進行排序 4.4.20 在文本中搜索字符串 4.4.21 顛倒單元格內容的順序 4.4.22 多個最大值 4.4.23 返回鏈接的地址 4.4.24 返回單元格地址的列字母 4.4.25 靜態(tài)隨機 4.4.26 將Select Case用于工作表第5章 循環(huán)和流程控制 5.1 ForNext循環(huán) 5.1.1 在For語句中使用變量 5.1.2 ForNext循環(huán)的變體 5.1.3 在滿足特定條件時提早退出循環(huán) 5.1.4 嵌套循環(huán) 5.2 Do循環(huán) 5.2.1 在D0循環(huán)中使用While或Until子句 5.2.2 While...Wend循環(huán) 5.3 VBA循環(huán):For Each 5.3.1 對象變量 5.3.2 遍歷文件夾中的所有文件 5.4 流程控制:使用If...The Else和Select Case 5.4.1 基本流程控制:If...The Else 5.4.2 條件 5.4.3 If...The ElseEnd If 5.4.4 使用IfElse IfEnd If檢測多個條件 5.4.5 使用Select CaseEnd Select檢測多個條件 5.4.6 在Case語句中使用復雜表達式 5.4.7 嵌套If語句第6章 R1C1公式 6.1 引用單元格:A1和R1C1引用樣式之比較 6.2 切換到R1C1引用樣式 6.3 Excel公式創(chuàng)造的奇跡 6.3.1 輸入公式一次并復制多次 6.3.2 逮并不神奇 6.3.3 在VBA中采用A1與RIC1樣式之比較 6.4 R1C1引用樣式簡介 6.4.1 使用R1C1相對引用 6.4.2 使用R1C1絕對引用 6.4.3 使用R1C1混合引用 6.4.4 使用R1C1引用樣式整行或整列 6.4.5 使用單個R1C1公式替換多個A1公式 6.4.6 記住列字母對應的列號 6.5 條件格式必須使用R1C1引用 6.5.1 通過用戶界面設置條件格式 6.5.2 使用VBA設置條件格式 6.5.3 找出G列中最大的值 6.6 數(shù)組公式必須是R1C1公式第7章 Excel 2007新增和修改過的功能 7.1 如果Excel用戶界面不同,則VBA也不同 7.1.1 選項卡 7.1.2 圖表 7.1.3 數(shù)據(jù)透視表 7.1.4 條件格式 7.1.5 數(shù)據(jù)表 7.1.6 排序 7.1.7 SinartArt 7.2 宏錄制器不記錄在以前的版本中記錄的操作 7.3 學習新的對象和方法 7.4 兼容模式 7.4.1 Version 7.4.2 Excel8CompatibilityMode第8章 使用VBA創(chuàng)建和操作名稱 8.1 Excel名稱 8.2 全局名稱和局部名稱 8.3 添加名稱 8.4 刪除名稱 8.5 添加備注 8.6 名稱類型 8.6.1 公式 8.6.2 字符串 8.6.3 數(shù)字 8.6.4 數(shù)據(jù)表 8.6.5 讓名稱指向數(shù)組 8.6.6 保留名稱 8.7 隱藏名稱 8.8 確定名稱是否存在第9章 事件編程 9.1 事件級別 9.2 使用事件 9.2.1 事件參數(shù) 9.2.2 啟用事件 9.3 工作簿事件 9.3.1 Workbook Activate() 9.3.2 Workbook Deactivate() 9.3.3 Workbook_Open() 9.3.4 Workbook BeforeSave(ByVal SaveAsUI As Boolean,Cancel As Boolean) 9.3.5 Workbook_BeforePrint(Cancel As Boolean) 9.3.6 Workbook BeforeClose(Cancel As Boolean) 9.3.7 Workbook_NewSheet(ByVal Sh As Object) 9.3.8 Workbook_WindowResize(ByVal Wn As Window) 9.3.9 Workbook _WindowActivate(ByVal Wn As Window) 9.3.10 Workbook_WindowDeactivate(ByVal WnAs Window) 9.3.11 Workbook_AddlnInstall() 9.3.12 Workbook_AddlnUninstall 9.3.13 Workbook_SheetActivate(ByVal ShAs Object) 9.3.14 Workbook_SheetBeforeDoubleClick (ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) 9.3.15 Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Rnge, Cancel As Boolean) 9.3.16 Workbook_SheetCalculate(ByVal ShAs Object) 9.3.17 Workbook_SheetChange (ByVal Sh As Object, ByVal Target As Range) 9.3.18 Workbook_Sync(ByVal SyncEventType As Office.MsoSyncEventType) 9.3.19 Workbook_SheetDeactivate(ByVal Sh As Object) 9.3.20 Workbook_SheetFollowHyperlink (ByVal Sh As Object, ByVal Target As Hyperlink) 9.3.21 Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) 9.3.22 Workbook PivotTableCloseConnection(ByVal Target As PivotTable) 9.3.23 Workbook_PivotTableOpenConnection(ByVal Target As PivotTable) 9.3.24 Workbook RowsetComplete(ByVal Description As String, ByVal Sheet As String, ByVal Success As Boolean) 9.4 工作表事件 9.4.1 Worksheet_Activate() 9.4.2 Worksheet_Deactivate() 9.4.3 Worksheet BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 9.4.4 Worksheet BeforeRightClick(ByVal Target As Range, Cancel As Boolean) 9.4.5 Worksheet_Calculate0 9.4.6 Worksheet Change(ByVal Target As Range) 9.4.7 Worksheet_SelectionChange(ByVal Target As Range) 9.4.8 Worksheet_FollowHyperlink(ByVal Target As tfyperlink) 9.5 在單元格中快速輸入24小時制事件 9.6 圖表事件 9.6.1 嵌入圖表 9.6.2 Chart_Activate() 9.6.3 Chart BeforeDoubleClick(ByVal ElementlD As Long, ByVal Argl As Long,ByVal Arg2 As Long, Cancel As Boolean) 9.6.4 Chart BeforeRightClick(Cancel As Boolean) 9.6.5 Chart_Calculate() 9.6.6 Chart_Deactivate() 9.6.7 Ehart_MouseDown(ByVal Button As Long, ByVal Shift As Long, ByVal x As Long, ByVal y As Long) 9.6.8 Chart MouseMove(ByVal Button As Long, ByVal Shift As Long, ByVal x As Long, ByVal y As Long) 9.6.9 Chart_MouseUp(ByVal Button As Long, ByVal Shift As Long, ByVal x As Long, ByVal y As Long) 9.6.10 Chart Resize() 9.6.11 Chart_Select(ByVal ElementID As Lon9,ByVal Argl As Lon9,ByVal Ar92 As Long 9.6.12 Chart_SeriesChange(ByVal SeriesIndex As Lon9,ByVal PointIndex As Long) 9.6.13 Chart_DragOver() 9.6.14 Chart_DragPlot() 9.7 應用程序級事件 9.7.1 AppEvent_AflerCalculate0 9.7.2 AppEventNewWorkbook(ByVal Wb As Workbook、 9.7.3 AppEvent_SheetActivate (ByVal Sh As Object) 9.7.4 AppEvent_SheetBeforeDoubleClick(ByVal Sh As Object.ByVal Target As Range,Cancel As Boolean) 9.7.5 AppEvent SheetBeforeRightClick(ByVal Sh As Object,ByVal Target As nge,Cancel As Boolean) 9.7.6 AppEvent SheetCalculate(ByVal Sh As Object)‘ 9.7.7 AppEvent_SheetChange(ByVal Sh As Object,ByVal Target As Range) 9.7.8 AppEvent_SheetDeactivate(ByVal Sh As Object)‘ 9.7.9 AppEvent_SheetFollowHyperlink(ByVal Sh As Object.ByVal Target As Hyperlink) 9.7.10 AppEvent_SheetSelectionChange(ByVal ShAs Object.ByVal Target As Range) 9.7.11 AppEvent_WindowActivate(ByVal Wb As Workbook,ByVal Wn As Window) 9.7.12 AppEvent_WindowDeactivate(ByVal Wb As Workbook,ByVal Wn As Window 9.7.13 AppEvent_WindowResize(ByVal Wb As Workbook.ByVal Wn As Window) 9.7.14 AppEvent_WorkbookActivate(ByVal WbAs Workbook) 9.7.15 AppEvent WorkbookAddinInstall(ByVal WbAs Workbook) 9.7.16 AppEvent_WorkbookAddinUninstall(ByVal WbAs Workbook、 9.7.17 AppEvent WorkbookBeforeClose(ByVal Wb As Workbook.Cancel As Boolean ByVal Target As PivotTable) 9.7.18 AppEvent_WorkbookBeforePrint(ByVal Wb As Workbook.Cancel As Boolean) 9.7.19 AppEvent_WorkbookBeforeSave(ByVal Wb As Workbook.Byval SaveAsUI As Boolean,Cancel As Boolean) 9.7.20 AppEvent WorkbookNewSheet(ByVal Wb As Workbook.ByVal Sh As Object 9.7.21 AppEvent_WorkbookOpen(ByVal Wb As Workbook) 9.7.22 AppEvent_WorkbookPivotTableCloseConnection(ByVal Wb As Workbook.ByVal Target As PivotTable) 9.7.23 AppEvent_WorkbookPivotTableOpenConnection(ByVal Wb As Workbook. 9.7.24 AppEvent_WorkbookRowsetComplete(ByVal Wb As Workbook, ByVal Description As String, ByVal Sheet As String, ByVal Success As Boolean) 9.7.25 AppEvent WorkbookSync(ByVal Wb As Workbook, ByVal SyncEventType As Office.MsoSyncEventType)第10章 用戶窗體簡介第11章 創(chuàng)建圖表第12章 使用統(tǒng)計函數(shù)第13章 使用VBA創(chuàng)建數(shù)據(jù)透視表第14章 展示Excel的威力第15章 數(shù)據(jù)可視化和條件格式第16章 讀寫Web第17章 Excel 2007中的XML第18章 自動控制Word第19章 數(shù)組第20章 處理文本文件第21章 將Access用作后端以及改善多用戶數(shù)據(jù)訪問第22章 創(chuàng)建類、記錄和集合第23章 高級用戶窗體技術第24章 Windows應用程序編程接口第25章 處理錯誤第26章 創(chuàng)建自定義選項卡方便用戶運行宏第27章 創(chuàng)建加載項
章節(jié)摘錄
第1章 使用VBA發(fā)揮Excel的威力 1.1 Excel的威力 結合使用Visual Basic for Applications(VBA)和Microsoft Excel可能是最強大的工具,該工具就位于5億Microsoft Office用戶的桌面上,但大多數(shù)用戶并不知道如何發(fā)揮Excel VBA的威力。通過使用VBA,可更快地在Excel中完成各種任務。如果讀者定期使用Excel生成一系列的月度圖表,可讓VBA幫助完成這種任務,這只需幾秒鐘?! ?.2 進入壁壘 要成功地學習VBA編程,將遇到兩個壁壘:首先,Excel的宏錄制器存在缺陷,無法生成可作為模型使用的代碼;其次,對于學習過編程語言(如Basic)的用戶來說,VBA的語法難以理解?! ?.3 宏錄制器不管用 Microsoft在20世紀90年代開始占領電子表格市場。雖然他們在建立功能強大的電子表格程序讓Lotus 1-2-3用戶可輕松過渡方面取得了巨大成功,但其宏語言截然不同,精通錄制Louts 1-2-3宏的用戶在嘗試錄制Excel宏時將遇到困難。雖然Microsoft VBA編程語言的功能遠遠超過了Lotus 1-2-3的宏語言,但一個重要的缺陷是宏錄制品不管用。
編輯推薦
“在當今這個信息浩如煙海而時間彌足珍貴的時代、只有以簡潔的方式快速獲悉匯總數(shù)據(jù),才能夠讓公司脫穎而出成為行業(yè)領頭羊本書介紹的技巧將讓您夢想成真 ” ——Jerry Kohl,Brighton Collectibles公司顧問 如果您是Excel專家,卻發(fā)現(xiàn)宏錄制器不起作用,且錄制的代碼讓您一頭霧水,則本書正是為您編寫的。今天錄制的宏可能在明天不起作用,也就是說,錄制的宏可能能夠處理包含14條記錄的數(shù)據(jù)集,但無法處理包含12條或16條記錄的數(shù)據(jù)集。這是宏錄制器存在的常見問題,它們是導致眾多Excel大師厭惡編寫宏的罪魁禍首?! ”緯懻摵赇浿破鞑黄鹱饔玫脑?。闡述如何對錄制的代碼進行修改,使其能夠處理任何數(shù)據(jù)集。本書假設讀者精通Excel,但不要求讀者有任何編程經驗。本書全面介紹了使用Exce1VBA自動生成報表和設計應用程序所需的技能,適合要自動生成報表或為他人設計功能齊全的應用程序的讀者閱讀。 ·學習VBA語法: ·自動控制功能強大的Excel工具:數(shù)據(jù)透視表、圖表和高級篩選; ·自動完成重復的任務; ·使用自定義對話框創(chuàng)建Excel應用程序; ·快速生成數(shù)百個Exoel個報表; ·了解Exce12007中的變化對VBA宏的影響。 學習經過實踐檢驗的技巧,迅速提高使用VBA開發(fā)Excel宏的技能?! ilI Jelen,就是著名的M rExcel!他是業(yè)界領先的Excel網站M rExcel.com的負責人和Microsoft Excel的MVP。他在一家快速成長的計算機公司擔任了12年的財務分析師,在此期間其Excel技能變得出神入化。只需憑借一個電子表格,他就能夠在最短的時間內將數(shù)千行的交易數(shù)據(jù)變成有意義的摘要報告。Bill Jelen是一名卓有成就的Excel圖書作者。還是加拿大電視節(jié)目的嘉賓。在世界各地的會計俱樂部常常能夠見到Bill的身影,那是他正在舉辦幽默而內容豐富的Excel講座。他的網站每年的訪問量高達1200萬次。 I racy Svrstad 是Excel和Access咨詢師。作為MrExcel.corn顧問團隊的一員。她幫助世界各地的客戶開發(fā)VBA解決方案。她對以前為開發(fā)應用程序而學習VBA的艱辛仍記憶猶新。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載