出版時(shí)間:2008-7 出版社:人民郵電出版社 作者:(美)杰萊(Jelen,B.),(美)斯太德(Syrstad,T.) 著,郭兵英 譯 頁(yè)數(shù):520 字?jǐn)?shù):783000 譯者:郭兵英
Tag標(biāo)簽:無(wú)
內(nèi)容概要
本書(shū)介紹了大量經(jīng)過(guò)實(shí)踐檢驗(yàn)的Excel技巧,幫助讀者迅速提高使用VBA開(kāi)發(fā)Excel宏的技能,從而避免大量手工匯總數(shù)據(jù)和創(chuàng)建報(bào)表,節(jié)省用戶(hù)寶貴的時(shí)間?! ∪珪?shū)包含27章,詳細(xì)介紹了以下內(nèi)容:Excel宏錄制器和VBA語(yǔ)法,引用區(qū)域,使用用戶(hù)定義函數(shù),循環(huán)和流程控制,RlC1公式,使用VBA自動(dòng)控制Excel 2007新增功能,事件編程,使用用戶(hù)窗體,創(chuàng)建圖表,實(shí)現(xiàn)高級(jí)篩選,創(chuàng)建數(shù)據(jù)透視表,數(shù)據(jù)可視化和條件格式,檢索Web數(shù)據(jù),使用數(shù)組,讀寫(xiě)文本文件,創(chuàng)建自定義對(duì)象和集合,使用WindowsAPI,處理錯(cuò)誤,創(chuàng)建自定義選項(xiàng)卡和加載項(xiàng)。 本書(shū)語(yǔ)言簡(jiǎn)明清晰,內(nèi)容實(shí)用,實(shí)例豐富,適合熟悉Excel并想自動(dòng)完成日常工作或?yàn)樗藙?chuàng)建Excel應(yīng)用程序的人員閱讀。
書(shū)籍目錄
第1章 使用VBA發(fā)揮Excel的威力 1.1 Excel的威力 1.2 進(jìn)入壁壘 1.3 宏錄制器不管用 1.3.1 Visual Basic并不像BASIC 1.3.2 VBA非常容易上手 1.3.3 Excel VBA值得學(xué)習(xí) 1.4 熟悉“開(kāi)發(fā)工具”選項(xiàng)卡 1.5 宏安全性 1.5.1 添加受信任位置 1.5.2 使用宏設(shè)置啟用不在受信任位置的工作簿中的宏 1.5.3 使用設(shè)置“禁用所有宏,并發(fā)出通知” 1.6 錄制和存儲(chǔ)宏 1.7 運(yùn)行宏 1.7.1 創(chuàng)建宏按鈕 1.7.2 將宏關(guān)聯(lián)到窗體控件、文本框或形狀 1.8 使用Excel 2007新增的文件類(lèi)型 1.9 了解Visual Basic編輯器 1.9.1 Visual Basic編輯器設(shè)置 1.9.2 工程資源管理器 1.9.3 屬性窗口 1.10 了解宏錄制器的缺點(diǎn) 1.10.1 準(zhǔn)備錄制宏 1.10.2 錄制宏 1.10.3 在編程窗口中查看代碼 1.10.4 其他時(shí)間運(yùn)行該宏時(shí)得到意外的結(jié)果 1.10.5 一種可能的解決方案:在錄制時(shí)使用相對(duì)引用第2章 VBA簡(jiǎn)介 2.1 VBA是一種面向?qū)ο笳Z(yǔ)言 2.2 VBA語(yǔ)言的組成部分 2.3 VBA學(xué)起來(lái)并不難 2.3.1 VBA幫助文件-使用F1鍵獲取幫助 2.3.2 使用幫助主題 2.4 查看錄制的宏代碼——使用Visual Basic編輯器和幫助 2.4.1 可選參數(shù) 2.4.2 預(yù)定義常量 2.4.3 可返回對(duì)象的屬性 2.5 使用調(diào)試工具幫助理解錄制的代碼 2.5.1 步進(jìn)執(zhí)行代碼 2.5.2 另一個(gè)調(diào)試選項(xiàng)——斷點(diǎn) 2.5.3 在代碼中向前或向后移動(dòng) 2.5.4 不逐句運(yùn)行每行代碼 2.5.5 在逐句執(zhí)行代碼時(shí)進(jìn)行查詢(xún) 2.5.6 使用監(jiān)視設(shè)置斷點(diǎn) 2.5.7 監(jiān)視對(duì)象 2.6 所有對(duì)象、方法和屬性的終極參考信息 2.7 整理代碼的5項(xiàng)技巧 2.7.1 技巧1:不要選擇任何單元格 2.7.2 技巧2:從區(qū)域底部開(kāi)始查找最后一行 2.7.3 技巧3:使用變量避免硬編碼行和公式 2.7.4 技巧4:在一條語(yǔ)句中進(jìn)行復(fù)制和粘貼 2.7.5 技巧5:使用WithEnd With對(duì)相同的單元格或區(qū)域執(zhí)行多項(xiàng)操作 2.8 綜合應(yīng)用——修復(fù)錄制的代碼第3章 引用區(qū)域 3.1 Range對(duì)象 3.2 使用選擇的左上角和右下角指定區(qū)域 3.3 命名區(qū)域 3.4 引用區(qū)域的快捷方式 3.5 引用其他工作表中的區(qū)域 3.6 引用相對(duì)于其他區(qū)域的區(qū)域 3.7 使用Cells屬性選擇區(qū)域 3.8 使用Offset屬性引用區(qū)域 3.9 使用Resize屬性修改區(qū)域的大小 3.10 使用Columns和Rows屬性指定區(qū)域 3.11 使用Union方法合并多個(gè)區(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章 用戶(hù)定義的函數(shù) 4.1 創(chuàng)建用戶(hù)定義的函數(shù) 4.2 自定義函數(shù)示例 4.3 共享UDF 4.4 很有用的自定義函數(shù) 4.4.1 獲取工作簿的名稱(chēng) 4.4.2 獲取當(dāng)前工作簿的名稱(chēng)和文件路徑 4.4.3 檢查工作簿是否打開(kāi) 4.4.4 檢查工作表是否包含在打開(kāi)的工作簿中 4.4.5 統(tǒng)計(jì)文件夾中的工作簿數(shù)量 4.4.6 獲取UserID 4.4.7 檢索最后一次保存的日期和時(shí)間 4.4.8 獲取固定不變的日期和時(shí)間 4.4.9 驗(yàn)證電子郵件地址 4.4.10 根據(jù)內(nèi)部顏色對(duì)單元格求和 4.4.11 統(tǒng)計(jì)非重復(fù)值的數(shù)量 4.4.12 刪除區(qū)域中重復(fù)的值 4.4.13 在區(qū)域中查找第一個(gè)非空單元格 4.4.14 替換多個(gè)字符 4.4.15 從文本中獲取數(shù)字 4.4.16 將星期編號(hào)轉(zhuǎn)換為日期 4.4.17 從用分隔符分隔的字符串中提取值 4.4.18 排序并拼接 4.4.19 對(duì)數(shù)字和字母進(jìn)行排序 4.4.20 在文本中搜索字符串 4.4.21 顛倒單元格內(nèi)容的順序 4.4.22 多個(gè)最大值 4.4.23 返回鏈接的地址 4.4.24 返回單元格地址的列字母 4.4.25 靜態(tài)隨機(jī) 4.4.26 將Select Case用于工作表第5章 循環(huán)和流程控制 5.1 ForNext循環(huán) 5.1.1 在For語(yǔ)句中使用變量 5.1.2 ForNext循環(huán)的變體 5.1.3 在滿(mǎn)足特定條件時(shí)提早退出循環(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 對(duì)象變量 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檢測(cè)多個(gè)條件 5.4.5 使用Select CaseEnd Select檢測(cè)多個(gè)條件 5.4.6 在Case語(yǔ)句中使用復(fù)雜表達(dá)式 5.4.7 嵌套If語(yǔ)句第6章 R1C1公式 6.1 引用單元格:A1和R1C1引用樣式之比較 6.2 切換到R1C1引用樣式 6.3 Excel公式創(chuàng)造的奇跡 6.3.1 輸入公式一次并復(fù)制多次 6.3.2 逮并不神奇 6.3.3 在VBA中采用A1與RIC1樣式之比較 6.4 R1C1引用樣式簡(jiǎn)介 6.4.1 使用R1C1相對(duì)引用 6.4.2 使用R1C1絕對(duì)引用 6.4.3 使用R1C1混合引用 6.4.4 使用R1C1引用樣式整行或整列 6.4.5 使用單個(gè)R1C1公式替換多個(gè)A1公式 6.4.6 記住列字母對(duì)應(yīng)的列號(hào) 6.5 條件格式必須使用R1C1引用 6.5.1 通過(guò)用戶(hù)界面設(shè)置條件格式 6.5.2 使用VBA設(shè)置條件格式 6.5.3 找出G列中最大的值 6.6 數(shù)組公式必須是R1C1公式第7章 Excel 2007新增和修改過(guò)的功能 7.1 如果Excel用戶(hù)界面不同,則VBA也不同 7.1.1 選項(xiàng)卡 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 學(xué)習(xí)新的對(duì)象和方法 7.4 兼容模式 7.4.1 Version 7.4.2 Excel8CompatibilityMode第8章 使用VBA創(chuàng)建和操作名稱(chēng) 8.1 Excel名稱(chēng) 8.2 全局名稱(chēng)和局部名稱(chēng) 8.3 添加名稱(chēng) 8.4 刪除名稱(chēng) 8.5 添加備注 8.6 名稱(chēng)類(lèi)型 8.6.1 公式 8.6.2 字符串 8.6.3 數(shù)字 8.6.4 數(shù)據(jù)表 8.6.5 讓名稱(chēng)指向數(shù)組 8.6.6 保留名稱(chēng) 8.7 隱藏名稱(chēng) 8.8 確定名稱(chēng)是否存在第9章 事件編程 9.1 事件級(jí)別 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小時(shí)制事件 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 應(yīng)用程序級(jí)事件 9.7.1 AppEvent_AflerCalculate0 9.7.2 AppEventNewWorkbook(ByVal Wb As Workbook、 9.7.3 AppEvent_SheetActivate?。˙yVal 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章 用戶(hù)窗體簡(jiǎn)介第11章 創(chuàng)建圖表第12章 使用統(tǒng)計(jì)函數(shù)第13章 使用VBA創(chuàng)建數(shù)據(jù)透視表第14章 展示Excel的威力第15章 數(shù)據(jù)可視化和條件格式第16章 讀寫(xiě)Web第17章 Excel 2007中的XML第18章 自動(dòng)控制Word第19章 數(shù)組第20章 處理文本文件第21章 將Access用作后端以及改善多用戶(hù)數(shù)據(jù)訪問(wèn)第22章 創(chuàng)建類(lèi)、記錄和集合第23章 高級(jí)用戶(hù)窗體技術(shù)第24章 Windows應(yīng)用程序編程接口第25章 處理錯(cuò)誤第26章 創(chuàng)建自定義選項(xiàng)卡方便用戶(hù)運(yùn)行宏第27章 創(chuàng)建加載項(xiàng)
章節(jié)摘錄
第1章 使用VBA發(fā)揮Excel的威力 1.1 Excel的威力 結(jié)合使用Visual Basic for Applications(VBA)和Microsoft Excel可能是最強(qiáng)大的工具,該工具就位于5億Microsoft Office用戶(hù)的桌面上,但大多數(shù)用戶(hù)并不知道如何發(fā)揮Excel VBA的威力。通過(guò)使用VBA,可更快地在Excel中完成各種任務(wù)。如果讀者定期使用Excel生成一系列的月度圖表,可讓VBA幫助完成這種任務(wù),這只需幾秒鐘。 1.2 進(jìn)入壁壘 要成功地學(xué)習(xí)VBA編程,將遇到兩個(gè)壁壘:首先,Excel的宏錄制器存在缺陷,無(wú)法生成可作為模型使用的代碼;其次,對(duì)于學(xué)習(xí)過(guò)編程語(yǔ)言(如Basic)的用戶(hù)來(lái)說(shuō),VBA的語(yǔ)法難以理解?! ?.3 宏錄制器不管用 Microsoft在20世紀(jì)90年代開(kāi)始占領(lǐng)電子表格市場(chǎng)。雖然他們?cè)诮⒐δ軓?qiáng)大的電子表格程序讓Lotus 1-2-3用戶(hù)可輕松過(guò)渡方面取得了巨大成功,但其宏語(yǔ)言截然不同,精通錄制Louts 1-2-3宏的用戶(hù)在嘗試錄制Excel宏時(shí)將遇到困難。雖然Microsoft VBA編程語(yǔ)言的功能遠(yuǎn)遠(yuǎn)超過(guò)了Lotus 1-2-3的宏語(yǔ)言,但一個(gè)重要的缺陷是宏錄制品不管用。
編輯推薦
“在當(dāng)今這個(gè)信息浩如煙海而時(shí)間彌足珍貴的時(shí)代、只有以簡(jiǎn)潔的方式快速獲悉匯總數(shù)據(jù),才能夠讓公司脫穎而出成為行業(yè)領(lǐng)頭羊本書(shū)介紹的技巧將讓您夢(mèng)想成真 ” ——Jerry Kohl,Brighton Collectibles公司顧問(wèn) 如果您是Excel專(zhuān)家,卻發(fā)現(xiàn)宏錄制器不起作用,且錄制的代碼讓您一頭霧水,則本書(shū)正是為您編寫(xiě)的。今天錄制的宏可能在明天不起作用,也就是說(shuō),錄制的宏可能能夠處理包含14條記錄的數(shù)據(jù)集,但無(wú)法處理包含12條或16條記錄的數(shù)據(jù)集。這是宏錄制器存在的常見(jiàn)問(wèn)題,它們是導(dǎo)致眾多Excel大師厭惡編寫(xiě)宏的罪魁禍?zhǔn)?。 本?shū)討論宏錄制器不起作用的原因。闡述如何對(duì)錄制的代碼進(jìn)行修改,使其能夠處理任何數(shù)據(jù)集。本書(shū)假設(shè)讀者精通Excel,但不要求讀者有任何編程經(jīng)驗(yàn)。本書(shū)全面介紹了使用Exce1VBA自動(dòng)生成報(bào)表和設(shè)計(jì)應(yīng)用程序所需的技能,適合要自動(dòng)生成報(bào)表或?yàn)樗嗽O(shè)計(jì)功能齊全的應(yīng)用程序的讀者閱讀?! W(xué)習(xí)VBA語(yǔ)法: ·自動(dòng)控制功能強(qiáng)大的Excel工具:數(shù)據(jù)透視表、圖表和高級(jí)篩選; ·自動(dòng)完成重復(fù)的任務(wù); ·使用自定義對(duì)話框創(chuàng)建Excel應(yīng)用程序; ·快速生成數(shù)百個(gè)Exoel個(gè)報(bào)表; ·了解Exce12007中的變化對(duì)VBA宏的影響?! W(xué)習(xí)經(jīng)過(guò)實(shí)踐檢驗(yàn)的技巧,迅速提高使用VBA開(kāi)發(fā)Excel宏的技能。 BilI Jelen,就是著名的M rExcel!他是業(yè)界領(lǐng)先的Excel網(wǎng)站M rExcel.com的負(fù)責(zé)人和Microsoft Excel的MVP。他在一家快速成長(zhǎng)的計(jì)算機(jī)公司擔(dān)任了12年的財(cái)務(wù)分析師,在此期間其Excel技能變得出神入化。只需憑借一個(gè)電子表格,他就能夠在最短的時(shí)間內(nèi)將數(shù)千行的交易數(shù)據(jù)變成有意義的摘要報(bào)告。Bill Jelen是一名卓有成就的Excel圖書(shū)作者。還是加拿大電視節(jié)目的嘉賓。在世界各地的會(huì)計(jì)俱樂(lè)部常常能夠見(jiàn)到Bill的身影,那是他正在舉辦幽默而內(nèi)容豐富的Excel講座。他的網(wǎng)站每年的訪問(wèn)量高達(dá)1200萬(wàn)次。 I racy Svrstad 是Excel和Access咨詢(xún)師。作為MrExcel.corn顧問(wèn)團(tuán)隊(duì)的一員。她幫助世界各地的客戶(hù)開(kāi)發(fā)VBA解決方案。她對(duì)以前為開(kāi)發(fā)應(yīng)用程序而學(xué)習(xí)VBA的艱辛仍記憶猶新。
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版