版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
零基礎(chǔ)學(xué)ExcelVBA(上篇)目錄\h第一篇ExcelVBA基礎(chǔ)篇\h第1章Excel高級處理功能的使用\h1.1數(shù)據(jù)檢測與導(dǎo)入\h1.2使用數(shù)據(jù)篩選功能\h1.3Excel常用函數(shù)的使用\h1.4使用數(shù)據(jù)透視表\h1.5使用圖表統(tǒng)計(jì)數(shù)據(jù)\h1.6舉一反三\h第2章ExcelVBA中的宏\h2.1認(rèn)識宏\h2.2宏的錄制與維護(hù)\h2.3執(zhí)行宏\h2.4加載宏\h2.5宏的數(shù)字簽名\h2.6宏的實(shí)際應(yīng)用\h2.7舉一反三\h第二篇ExcelVBA開發(fā)環(huán)境和語法篇\h第3章ExcelVBA及其開發(fā)環(huán)境\h3.1VBA概述\h3.2VBA與VB\h3.3VBE開發(fā)環(huán)境介紹\h3.4示例:第1個(gè)VBA程序\h3.5舉一反三\h第4章ExcelVBA中的語法結(jié)構(gòu)\h4.1VBA常用對象\h4.2基礎(chǔ)數(shù)據(jù)對象概述\h4.3常用控制語句\h4.4舉一反三\h第5章ExcelVBA中的代碼結(jié)構(gòu)\h5.1ExcelVBA程序\h5.2ExcelVBA的代碼組成\h5.3舉一反三\h第三篇ExcelVBA技術(shù)在Excel中的應(yīng)用篇\h第6章工作簿相關(guān)的操作\h6.1新建工作簿\h6.2打開工作簿\h6.3保存工作簿\h6.4關(guān)閉工作簿\h6.5工作簿的應(yīng)用\h6.6舉一反三\h第7章工作表的相關(guān)操作\h7.1新建工作表\h7.2激活與選取工作表\h7.3工作表的隱藏\h7.4刪除工作表\h7.5工作表的移動\h7.6工作表的復(fù)制\h7.7工作表的保護(hù)\h7.8工作表的應(yīng)用\h7.9舉一反三第一篇ExcelVBA基礎(chǔ)篇第1章Excel高級處理功能的使用Excel是現(xiàn)代企業(yè)辦公中最常用的辦公工具之一,能夠正確和熟練地使用Excel,對提高工作效率和工作質(zhì)量有著非常重要的意義。Excel具有強(qiáng)大的數(shù)據(jù)庫管理功能,這主要依賴于其內(nèi)部的宏命令、函數(shù)及其強(qiáng)有力的決策支持工具。因此,在介紹ExcelVBA之前,有必要對Excel內(nèi)部的一些高級處理功能進(jìn)行一下簡單的介紹,這樣,會給讀者學(xué)習(xí)后面的ExcelVBA知識打下良好的基礎(chǔ)。1.1數(shù)據(jù)檢測與導(dǎo)入在對Excel的各種操作中,經(jīng)常涉及的是數(shù)據(jù)錄入操作。在向Excel的工作表中錄入數(shù)據(jù)的操作中,許多Excel的使用者只知道使用Excel的一些基本的功能,卻不知道操作Excel還有很多的技巧。本節(jié)將講解在Excel中如何驗(yàn)證錄入數(shù)據(jù)是否合法以及如何向Excel中導(dǎo)入數(shù)據(jù)的一些操作技巧,使讀者能夠更好地利用Excel完成相應(yīng)的工作任務(wù)。1.1.1檢測錄入數(shù)據(jù)的有效性添加數(shù)據(jù)是Excel最基本的操作。當(dāng)需要錄入大量數(shù)據(jù)信息的時(shí)候,通常會出現(xiàn)錄錯數(shù)據(jù)的可能,比如本應(yīng)該在單元格中錄入數(shù)值型數(shù)據(jù)卻錄入了字符型數(shù)據(jù)。在Excel中,提供了驗(yàn)證輸入數(shù)據(jù)有效性的功能,使用這種功能能夠有效地減少錄錯數(shù)據(jù)情況的發(fā)生。下面以向工作表中輸入員工基本信息為例,來講解如何驗(yàn)證輸入員工的年齡信息是否合法,其實(shí)現(xiàn)的具體步驟如下所示。(1)打開工作表,在工作表的第1行中輸入“編號”、“姓名”、“性別”、“年齡”、“職務(wù)”和“聯(lián)系電話”等字段信息,如圖1.1所示。圖1.1輸入字段名稱(2)選中“年齡”字段,然后選擇“數(shù)據(jù)”選項(xiàng)卡下的【數(shù)據(jù)有效性】按鈕,如圖1.2所示,單擊該按鈕彈出“數(shù)據(jù)有效性”對話框。圖1.2選擇【數(shù)據(jù)有效性】按鈕(3)在“數(shù)據(jù)有效性”對話框中選擇“設(shè)置”選項(xiàng)卡,然后在“允許”下拉列表中選擇“整數(shù)”;在“數(shù)據(jù)”下拉列表中選擇“介于”;在“最小值”文本框中輸入“0”;在“最大值”文本框中輸入“100”,如圖1.3所示。圖1.3設(shè)置輸入數(shù)據(jù)的有效性規(guī)則(4)在“數(shù)據(jù)有效性”對話框中選擇“輸入信息”選項(xiàng)卡,然后在“標(biāo)題”文本框中輸入“驗(yàn)證信息”;在“輸入信息”文本框中輸入“輸入的年齡信息范圍為0~100”,如圖1.4所示。圖1.4設(shè)置輸入信息提示(5)在“數(shù)據(jù)有效性”對話框中選擇“出錯警告”選項(xiàng)卡,然后在“標(biāo)題”文本框中輸入“錯誤信息提示”;在“錯誤信息”文本框中輸入“輸入的年齡信息不合法”,如圖1.5所示。圖1.5設(shè)置出錯時(shí)彈出的警告信息(6)在圖1.5所示的窗口中單擊【確定】按鈕,驗(yàn)證輸入年齡信息的有效性規(guī)則設(shè)置完成。此時(shí)向工作表中錄入數(shù)據(jù),當(dāng)鼠標(biāo)移動到“年齡”字段所在的列單元格時(shí),將會彈出一個(gè)“輸入的年齡信息范圍為0~100”的提示信息,如圖1.6所示。如果輸入的年齡信息在0~100之間,則不提示任何信息,否則將彈出“輸入的年齡信息不合法”的錯誤提示對話框,并且信息錄入不成功,如圖1.7所示。圖1.6提示輸入正確的數(shù)據(jù)信息圖1.7輸入不符合條件數(shù)據(jù)時(shí)的信息提示1.1.2從外部數(shù)據(jù)源中導(dǎo)入數(shù)據(jù)如果需要錄入的數(shù)據(jù)在其他數(shù)據(jù)源中存在,那么除了可以手動向Excel工作表中輸入數(shù)據(jù)之外,還可以從外部數(shù)據(jù)源中將數(shù)據(jù)導(dǎo)入到Excel中??梢韵駿xcel中導(dǎo)入數(shù)據(jù)的數(shù)據(jù)源主要有SQLServer、Access、文本文件和網(wǎng)站數(shù)據(jù)等。下面就介紹一下如何從文本文件中將數(shù)據(jù)導(dǎo)入到Excel中,其具體實(shí)現(xiàn)的方法如下所示。(1)打開Excel,在“數(shù)據(jù)”選項(xiàng)卡中單擊【獲取外部數(shù)據(jù)】按鈕,然后在彈出的下拉選項(xiàng)中單擊【自文本】按鈕,如圖1.8所示。圖1.8選擇導(dǎo)入的數(shù)據(jù)源類型(2)單擊【自文本】按鈕之后,在彈出的對話框中選擇要導(dǎo)入的文本文件,在隨后彈出的對話框中選擇【固定寬度】單選按鈕,然后在下面的“文件原始格式”下拉列表中選擇"Windows(ANSI)"選項(xiàng),如圖1.9所示。圖1.9導(dǎo)入文本文件向?qū)Р襟E1(3)在圖1.9所示的窗口中單擊【下一步】按鈕,將彈出導(dǎo)入文本文件向?qū)Р襟E2窗口,如圖1.10所示。在該窗口中單擊【下一步】按鈕,將彈出導(dǎo)入文本文件向?qū)Р襟E3窗口,在該窗口中的“列數(shù)據(jù)格式”項(xiàng)中選擇【常規(guī)】單選按鈕,如圖1.11所示。圖1.10導(dǎo)入文本文件向?qū)Р襟E2圖1.11導(dǎo)入文本文件向?qū)Р襟E3(4)在圖1.11所示的窗口中單擊【完成】按鈕,將彈出“導(dǎo)入數(shù)據(jù)”窗口,在該窗口中選擇【現(xiàn)有工作表】單選按鈕,然后在下面的文本框中輸入"=$A$1",如圖1.12所示。單擊【確定】按鈕,文本文件中的數(shù)據(jù)信息將被導(dǎo)入到Excel的工作表中,如圖1.13所示。圖1.12確定數(shù)據(jù)導(dǎo)入的位置圖1.13導(dǎo)入數(shù)據(jù)的結(jié)果1.2使用數(shù)據(jù)篩選功能在Excel中,存儲數(shù)據(jù)與篩選數(shù)據(jù)同樣重要。本節(jié)將講解有關(guān)數(shù)據(jù)篩選方面的一些技巧,通過這些技巧,可以使讀者方便快捷地從工作表中得到所需要的數(shù)據(jù)信息,從而提高工作的效率。1.2.1使用篩選功能檢索數(shù)據(jù)為了方便篩選數(shù)據(jù),Excel提供了自動篩選的功能。通過自動篩選,可以將常用的數(shù)據(jù)信息非常輕松地提取出來。如果工作表中的數(shù)據(jù)量非常的龐大,那么使用自動篩選功能將能夠大大地提高工作效率,縮短篩選數(shù)據(jù)的時(shí)間。下面以員工信息工作表為例,來講解使用篩選功能篩選數(shù)據(jù)的一些技巧,其實(shí)現(xiàn)的具體操作步驟如下所示。(1)打開工作表,工作表中的數(shù)據(jù)信息如圖1.14所示。選中表中任意一個(gè)單元格,然后單擊“數(shù)據(jù)”選項(xiàng)卡下的【篩選】按鈕,此時(shí)工作表將進(jìn)入到“篩選”狀態(tài),即此時(shí)在工作表中的每一個(gè)列標(biāo)題下面都會出現(xiàn)一個(gè)三角按鈕,如圖1.15所示。圖1.14員工信息工作表中的數(shù)據(jù)圖1.15使用自動篩選后的狀態(tài)(2)單擊“職務(wù)”旁的三角按鈕,在彈出的下拉列表中選取“職員”,如圖1.16所示,單擊【確定】按鈕,則工作表中所有職務(wù)為“職員”的員工信息將會全部被篩選出來,如圖1.17所示。圖1.16選擇篩選條件圖1.17執(zhí)行篩選后的數(shù)據(jù)結(jié)果顯示注意如果想恢復(fù)顯示工作表中的所有數(shù)據(jù)信息,則再次單擊“數(shù)據(jù)”選項(xiàng)卡下的【篩選】按鈕即可。1.2.2使用自定義篩選功能檢索數(shù)據(jù)使用篩選功能只能篩選出符合某一類條件的數(shù)據(jù)信息,如果想要得到更加詳細(xì)的信息,可以使用自定義篩選功能來實(shí)現(xiàn)。下面以篩選員工信息工作表中年齡在20~30之間員工信息為例,來講解如何實(shí)現(xiàn)自定義篩選的功能,具體的操作步驟如下所示。(1)打開工作表,選中表中任意一個(gè)單元格,然后單擊“數(shù)據(jù)”選項(xiàng)卡下的【篩選】按鈕,使工作表進(jìn)入到“自動篩選”狀態(tài)。(2)單擊“年齡”字段旁的“三角”按鈕,在彈出的下拉菜單中選擇“數(shù)字篩選”選項(xiàng)下的“介于”子菜單項(xiàng),將彈出“自定義自動篩選方式”對話框。說明在彈出的下拉菜單中選擇“升序”或“降序”之后,工作表中的數(shù)據(jù)信息將按照“年齡”字段升序或者降序排序。(3)在彈出的“自定義自動篩選方式”對話框中選擇或輸入自定義的篩選條件之后,單擊【確定】按鈕,則符合條件的數(shù)據(jù)信息將會被篩選出來,如圖1.18與圖1.19所示。圖1.18設(shè)置自定義篩選條件圖1.19自定義篩選的執(zhí)行結(jié)果注意在“自定義自動篩選方式”對話框中可以設(shè)置各種不同的篩選條件,以上所講解的只是其中比較簡單的一種。通過執(zhí)行這些不同的篩選條件,可以篩選出更加細(xì)致的數(shù)據(jù)結(jié)果,這將給讀者在篩選數(shù)據(jù)時(shí)帶來更多的方便。1.3Excel常用函數(shù)的使用Excel是現(xiàn)代企業(yè)中常用的辦公軟件之一。在Excel中,除了具有向Word那樣編輯文本的功能之外,還可以通過使用其本身自帶的各種函數(shù)來操作工作表單元格中的各種數(shù)據(jù)信息,從而能夠滿足現(xiàn)代企業(yè)辦公中的各種需求。Excel有很多自帶的函數(shù),本節(jié)將介紹其中幾種比較常用函數(shù)的使用方法。1.3.1自動求和函數(shù)的使用自動求和函數(shù)用于在Excel單元格中進(jìn)行各種數(shù)學(xué)計(jì)算,用在自動求和中的數(shù)據(jù)必須都是數(shù)值類型的數(shù)據(jù)信息。在Excel中,自動求和函數(shù)主要包括以下幾種。?SUM函數(shù):對某一行區(qū)域或列區(qū)域中的單元格數(shù)據(jù)進(jìn)行求和運(yùn)算。?AVERAGE函數(shù):對某一行區(qū)域或列區(qū)域中的單元格數(shù)據(jù)進(jìn)行求平均值運(yùn)算。?MAX函數(shù):對某一行區(qū)域或列區(qū)域中的單元格數(shù)據(jù)進(jìn)行求最大值運(yùn)算。?MIN函數(shù):對某一行區(qū)域或列區(qū)域中的單元格數(shù)據(jù)進(jìn)行求最小值運(yùn)算。下面將具體講解這幾種函數(shù)的相關(guān)用法。1.SUM函數(shù)與AVERAGE函數(shù)的用法首先講解如何使用SUM函數(shù)和AVERAGE函數(shù)進(jìn)行數(shù)學(xué)計(jì)算,具體實(shí)現(xiàn)的操作步驟如下所示。(1)打開Excel,在工作表"Sheet1"中輸入如圖1.20所示的數(shù)據(jù)信息。圖1.20在工作表中輸入的數(shù)據(jù)信息(2)選中工作表"Sheet1"中的B3:E9單元格區(qū)域中的數(shù)據(jù)信息,然后單擊“公式”選項(xiàng)卡下的【自動求和】下拉按鈕,在彈出的下拉列表中選擇“求和”命令,如圖1.21所示。圖1.21對所選的單元格區(qū)域進(jìn)行求和運(yùn)算在圖1.21所示的窗口中選擇完“求和”命令之后,在工作表"Sheet1"中將統(tǒng)計(jì)出各個(gè)商品的銷售總額信息,如圖1.22所示。圖1.22求和運(yùn)算的結(jié)果顯示如果想計(jì)算工作表"Sheet1"中每個(gè)月的商品銷售額,可以按照下面的步驟進(jìn)行操作。(1)逐行選中每個(gè)月商品銷售數(shù)量的單元格區(qū)域,如選中B4:E4單元格區(qū)域中的數(shù)據(jù)信息,然后單擊“公式”選項(xiàng)卡下的【自動求和】下拉按鈕,在彈出的下拉列表中選擇“平均值”命令,如圖1.23所示。圖1.23計(jì)算每個(gè)月商品銷售額的平均值在圖1.23所示的窗口中選擇完“平均值”命令之后,在工作表"Sheet1"中的“平均銷售額”列的單元格中將統(tǒng)計(jì)出所選月份商品的平均銷售額信息,如圖1.24所示。圖1.24計(jì)算平均值的結(jié)果顯示(2)分別按照上面的操作步驟計(jì)算每個(gè)月份商品銷售額的平均值信息,計(jì)算完成后的工作表界面如圖1.25所示。圖1.25計(jì)算完成后的工作表界面2.MAX函數(shù)與MIN函數(shù)的用法接下來講解求最大值函數(shù)MAX和求最小值函數(shù)MIN的用法。下面以商品銷售量數(shù)量統(tǒng)計(jì)數(shù)據(jù)表為例,講解如何統(tǒng)計(jì)商品銷售額最高月份的銷售額和商品銷售額最低月份的商品銷售額。(1)打開上面講解的統(tǒng)計(jì)商品平均銷售額和商品銷售總額的工作表。(2)在工作表"Sheet1"中繼續(xù)添加如下的數(shù)據(jù)信息,如圖1.26所示。圖1.26工作表Sheet1中的數(shù)據(jù)信息(3)選中工作表"Sheet1"中的B3:E9單元格區(qū)域中的數(shù)據(jù)信息,然后單擊“公式”選項(xiàng)卡下的【自動求和】下拉按鈕,在彈出的下拉列表中選擇“最大值”命令,如圖1.27所示。圖1.27求所選單元格區(qū)域的最大值(4)在圖1.27所示的窗口中選擇完“最大值”命令之后,在工作表"Sheet1"中將統(tǒng)計(jì)出各個(gè)商品的最高銷售額信息,如圖1.28所示。圖1.28求得最大值的結(jié)果顯示(5)再次選中工作表"Sheet1"中的B3:E9單元格區(qū)域中的數(shù)據(jù)信息,然后單擊“公式”選項(xiàng)卡下的【自動求和】下拉按鈕中的“最小值”命令,如圖1.29所示。圖1.29求所選單元格區(qū)域的最小值(6)在圖1.29所示的窗口中選擇完“最小值”命令之后,在工作表"Sheet1"中將統(tǒng)計(jì)出各個(gè)商品的最低銷售額信息,如圖1.30所示。圖1.30求得最小值的結(jié)果顯示1.3.2文本函數(shù)的使用在Excel中,有很多個(gè)文本函數(shù)。限于篇幅,本節(jié)中只介紹一下在Excel中經(jīng)常用到的幾個(gè)文本函數(shù)。主要包括以下幾種。?LOWER函數(shù):將一個(gè)文本字符串的所有字母都轉(zhuǎn)換為小寫的形式。?UPPER函數(shù):將一個(gè)文本字符串的所有字母都轉(zhuǎn)換為大寫的形式。?TRIM函數(shù):刪除字符串之間的多余空格,但在英文字符串中將保留一個(gè)詞與詞之間的空格。下面分別介紹這幾個(gè)字符函數(shù)的用法,具體實(shí)現(xiàn)的操作步驟如下所示。(1)打開Excel,在工作表"Sheet1"中輸入一段英文字符串,輸入字符串之后的工作表如圖1.31所示。圖1.31在工作表中輸入用于顯示文本函數(shù)示例的字符串(2)選中工作表中某一個(gè)空白單元格,該單元格用于顯示處理后字符串的結(jié)果,如圖1.32所示。圖1.32使用LOWER函數(shù)處理字符串(3)在圖1.32所示的界面中單擊“公式”選項(xiàng)卡下的【文本】下拉按鈕,在彈出的下拉列表中選擇"LOWER"命令。(4)在圖1.32所示的窗口中選擇完"LOWER"命令之后,將彈出一個(gè)要求輸入函數(shù)參數(shù)的窗口,此時(shí)只要選中要處理字符串所在的單元格,所選中的單元格地址就會自動被添加到“函數(shù)參數(shù)”窗口中的"Text"文本框中,如圖1.33所示。圖1.33選擇要處理字符串所在的單元格(5)在如圖1.33所示的“函數(shù)參數(shù)”窗口中單擊【確定】按鈕,將完成對所選字符串的處理操作,即所選擇字符串中的字母全部轉(zhuǎn)換為小寫字母的形式,如圖1.34所示。圖1.34使用LOWER函數(shù)處理字符串的結(jié)果顯示(6)按照上面介紹的操作步驟,使用UPPER函數(shù)可以將工作表字符串中的字母全部轉(zhuǎn)換為大寫字母的形式,其實(shí)現(xiàn)的結(jié)果如圖1.35所示。圖1.35使用UPPER函數(shù)處理字符串的結(jié)果顯示下面再介紹一下如何使用TRIM函數(shù)去除字符串中的空格,具體實(shí)現(xiàn)的操作步驟如下所示。(1)新建一個(gè)工作簿,在工作表"Sheet1"中輸入如圖1.36所示的字符信息。圖1.36在工作表單元格中輸入的字符信息(2)選中工作表中的某一個(gè)空白單元格,該單元格用于顯示處理后字符串的結(jié)果,如圖1.36所示。(3)在工作表中選中一個(gè)空白單元格,然后在“公式”選項(xiàng)卡下單擊【文本】下拉按鈕,在彈出的下拉列表中選擇"TRIM"命令,如圖1.37所示。圖1.37使用TRIM函數(shù)去除字符串中的多余空格(4)在圖1.37所示的窗口中選擇"TRIM"命令之后,將彈出一個(gè)要求輸入函數(shù)參數(shù)的窗口,此時(shí)只要選中要處理字符串所在的單元格,所選中的單元格地址就會自動添加到“函數(shù)參數(shù)”窗口中的"Text"文本框中,如圖1.38所示。圖1.38選擇要處理字符串所在的單元格(5)在如圖1.38所示的“函數(shù)參數(shù)”窗口中單擊【確定】按鈕,將完成對所選字符串的處理操作,即所選擇字符串中的多余空格全部去掉,如圖1.39所示。圖1.39使用TRIM函數(shù)去除字符串中多余空格的結(jié)果顯示1.3.3日期函數(shù)的使用在Excel中,日期函數(shù)也是經(jīng)常使用的函數(shù)之一。本節(jié)中將詳細(xì)講解幾個(gè)常用日期函數(shù)的使用方法。主要有以下幾種。?YEAR函數(shù):返回一個(gè)年份值,數(shù)值范圍在1900~9999之間。?MONTH函數(shù):返回一個(gè)月份值,數(shù)值范圍在1~12之間。?DAY函數(shù):返回一個(gè)月中的第幾天的數(shù)值。?NOW函數(shù):返回當(dāng)前系統(tǒng)的日期時(shí)間值。?TODAY函數(shù):返回日期格式的當(dāng)前日期。下面具體說明一下這幾種日期函數(shù)的使用方法,具體實(shí)現(xiàn)的操作步驟如下所示。(1)首先打開Excel,新建并保存一個(gè)工作簿。在工作簿中的工作表Sheet1中輸入如圖1.40所示的數(shù)據(jù)信息。圖1.40在工作表中輸入的數(shù)據(jù)信息(2)逐行選中每個(gè)“日期”所對應(yīng)的“年”單元格,如選中單元格A2所對應(yīng)的單元格B2,然后單擊“公式”選項(xiàng)卡下的【日期和時(shí)間】下拉按鈕,在彈出的下拉列表中選擇"YEAR"命令,如圖1.41所示。圖1.41獲取所選日期的年份值(3)在圖1.41所示的窗口中選擇"YEAR"命令之后,將彈出一個(gè)要求輸入函數(shù)參數(shù)的窗口,此時(shí)只要選中要提取年份信息的單元格,則所選中的單元格地址就會自動被添加到“函數(shù)參數(shù)”窗口中的"Serial_number"文本框中,如圖1.42所示。圖1.42獲得函數(shù)參數(shù)的值(4)在圖1.42所示的“函數(shù)參數(shù)”窗口中單擊【確定】按鈕,則完成從指定日期單元格中提取日期年份的數(shù)據(jù)信息,如圖1.43所示。圖1.43從日期單元格中提取年份值的結(jié)果顯示(5)選中單元格A2所對應(yīng)的單元格C2,單擊“公式”選項(xiàng)卡下的【日期和時(shí)間】下拉按鈕,在彈出的下拉列表中選擇"MONTH"命令,如圖1.44所示。圖1.44獲取所選日期的月份值在圖1.44所示的窗口中選擇"MONTH"命令之后,將彈出一個(gè)要求輸入函數(shù)參數(shù)的窗口,選中日期信息的單元格(A2單元格),然后單擊【確定】按鈕,則完成從指定日期單元格A2中提取日期的月份信息,如圖1.45所示。圖1.45從指定日期單元格中提取月份值的結(jié)果顯示(6)選中單元格A2所對應(yīng)的單元格D2,單擊“公式”選項(xiàng)卡下的【日期和時(shí)間】下拉按鈕,在彈出的下拉列表中選擇"DAY"命令,如圖1.46所示。圖1.46獲取所選日期的天數(shù)值在圖1.46所示的窗口中選擇"DAY"命令之后,將彈出函數(shù)參數(shù)的窗口,選中日期信息的單元格(A2單元格),然后單擊【確定】按鈕,則完成從指定日期單元格中提取日期的天數(shù)值信息,如圖1.47所示。圖1.47從指定日期單元格中提取天數(shù)信息的結(jié)果顯示同理,通過上述的方法也可以使用TODAY函數(shù)得到當(dāng)前系統(tǒng)的日期,使用NOW函數(shù)得到當(dāng)前系統(tǒng)的日期時(shí)間,這里將不再講解了,請讀者自己思考。1.4使用數(shù)據(jù)透視表前面講解了有關(guān)數(shù)據(jù)篩選和Excel內(nèi)置函數(shù)的相關(guān)知識。在本節(jié)中,將講解如何使用數(shù)據(jù)透視表對Excel工作表中的數(shù)據(jù)信息進(jìn)行統(tǒng)計(jì)和計(jì)算,從而得到所需要的數(shù)據(jù)信息。1.4.1數(shù)據(jù)透視表的作用數(shù)據(jù)透視表的作用是能夠完成篩選、排序和分類匯總等功能,最后生成匯總表格。通過使用數(shù)據(jù)透視表中所集成的多種功能,能夠?yàn)橛脩籼幚頂?shù)據(jù)提供方便。數(shù)據(jù)透視表為用戶提供了數(shù)據(jù)的三維視圖,即將用戶所需要的數(shù)據(jù)分別按照3條不同的坐標(biāo)軸進(jìn)行排列,從而達(dá)到統(tǒng)計(jì)數(shù)據(jù)信息的要求。數(shù)據(jù)透視表實(shí)際上是通過二維的視圖來表示三維的內(nèi)部結(jié)構(gòu),如圖1.48所示,圖中行標(biāo)簽、列標(biāo)簽和報(bào)表篩選分別表示三維結(jié)構(gòu)中的X軸、Y軸和Z軸,通過這種表示方法可以顯示統(tǒng)計(jì)的數(shù)據(jù)信息。圖1.48數(shù)據(jù)透視表的內(nèi)部結(jié)構(gòu)1.4.2數(shù)據(jù)透視表的應(yīng)用本節(jié)將通過一個(gè)具體的示例來講解數(shù)據(jù)透視表的具體應(yīng)用。某超市的商品銷售表包含以下幾個(gè)字段:銷售月份、銷售產(chǎn)品、單價(jià)、銷售數(shù)量、銷售總額和備注,如圖1.49所示。圖1.49超市商品月銷售情況統(tǒng)計(jì)表現(xiàn)在通過使用數(shù)據(jù)透視表獲得每個(gè)月的商品銷售情況,其實(shí)現(xiàn)具體的操作步驟如下所示。(1)打開工作表,選擇工作表中任意一個(gè)單元格,然后單擊“插入”選項(xiàng)卡下的【數(shù)據(jù)透視表】按鈕,將彈出“創(chuàng)建數(shù)據(jù)透視表”對話框。(2)在彈出的對話框中“選擇要分析的數(shù)據(jù)”選項(xiàng)中選擇【選擇一個(gè)表或區(qū)域】單選按鈕;在“選擇放置數(shù)據(jù)透視表的位置”中選擇【現(xiàn)有工作表】單選按鈕,然后在下面的文本框中輸入"Sheet2!$G$5",如圖1.50所示。圖1.50創(chuàng)建數(shù)據(jù)透視表窗口(3)在圖1.50所示的窗口中單擊【確定】按鈕,將彈出“數(shù)據(jù)透視表字段列表”窗口,在該窗口中分別將“備注”字段拖放到“報(bào)表篩選”欄目內(nèi);將“銷售產(chǎn)品”字段拖放到“列標(biāo)簽”欄目內(nèi);將“銷售月份”字段拖放到“行標(biāo)簽”欄目內(nèi);將“銷售總額”字段拖放到“數(shù)值”欄目內(nèi),如圖1.51所示。圖1.51將字段拖放到指定的位置(4)關(guān)閉如圖1.51所示的“數(shù)據(jù)透視表字段列表”窗口,數(shù)據(jù)透視表被創(chuàng)建完成,如圖1.52所示。圖1.52生成的數(shù)據(jù)透視表從圖1.52中可以看出,銷售信息工作表中的數(shù)據(jù)信息分別按照以“銷售產(chǎn)品”字段為橫坐標(biāo)、以“銷售月份”為縱坐標(biāo)的數(shù)據(jù)統(tǒng)計(jì)方式顯示出來,同時(shí)將各種數(shù)據(jù)信息進(jìn)行了匯總。此時(shí)如果改動了銷售信息工作表中的數(shù)據(jù)信息,數(shù)據(jù)透視表中的數(shù)據(jù)統(tǒng)計(jì)結(jié)果也將會相應(yīng)地進(jìn)行改動。值得注意的是,通過單擊選擇數(shù)據(jù)透視表中各個(gè)字段后面的三角按鈕,可以篩選顯示不同的數(shù)據(jù)透視表統(tǒng)計(jì)信息,如單擊“列標(biāo)簽”字段后面的三角按鈕,在彈出的窗口中選擇“毛巾”、“食用油”和“牙膏”選項(xiàng),如圖1.53所示。單擊【確定】按鈕之后,在數(shù)據(jù)透視表中只顯示“毛巾”、“食用油”和“牙膏”3種銷售商品的統(tǒng)計(jì)信息,如圖1.54所示。圖1.53選擇統(tǒng)計(jì)數(shù)據(jù)圖1.54選擇統(tǒng)計(jì)數(shù)據(jù)后的數(shù)據(jù)結(jié)果1.5使用圖表統(tǒng)計(jì)數(shù)據(jù)圖表是將信息表示成使人更容易理解的一種表示方式。使用圖表能夠使人更容易理解數(shù)據(jù)統(tǒng)計(jì)和計(jì)算,使得用戶更加方便和快捷地操作數(shù)據(jù)。圖表能夠給人以生動的感性認(rèn)識,使人們更能夠接受這種表達(dá)習(xí)慣,也就是說,人們不用怎么動腦,就很容易理解圖表所表達(dá)的數(shù)據(jù)信息。在Excel中,提供了功能強(qiáng)大的圖表功能。本節(jié)將講解有關(guān)圖表方面的相關(guān)知識。1.5.1圖表的3種類型在介紹圖表的應(yīng)用之前,首先介紹一下圖表的各種顯示類型,即線形圖表、餅形圖表和柱形圖表。1.線形圖表線形圖表用于描述某個(gè)區(qū)間內(nèi)或一段時(shí)間內(nèi)數(shù)據(jù)的變化值,是經(jīng)常使用的圖表類型之一。在Excel中,線形圖表的顯示樣式如圖1.55所示。從圖中可以看出,在同一個(gè)區(qū)間內(nèi)或同一段時(shí)間之內(nèi),可以描述各種不同系列的數(shù)據(jù)信息。并且,每個(gè)系列的數(shù)據(jù)信息的跨度都應(yīng)該相似。圖1.55線形圖表2.餅形圖表與線形圖表不同,餅形圖表用于表示各個(gè)不同的數(shù)據(jù)點(diǎn),即將數(shù)據(jù)信息分成不同的幾部分,然后將其放在一起進(jìn)行比較。通常情況下,餅形圖表采用的是使用扇形區(qū)占整個(gè)圓的百分比的方式進(jìn)行表示,如圖1.56所示。圖1.56餅形圖表在使用餅形圖表統(tǒng)計(jì)數(shù)據(jù)信息時(shí),不易產(chǎn)生過多的扇形區(qū),否則會使辨認(rèn)餅形圖變得很困難,用戶很難通過餅形圖表表示出所需要的統(tǒng)計(jì)結(jié)果。通常情況下,在使用餅形圖表時(shí)應(yīng)該將扇形區(qū)(數(shù)據(jù)點(diǎn))控制在7個(gè)以內(nèi)。3.柱形圖表柱形圖表是用柱形表示數(shù)據(jù)的一種方式。如圖1.57所示,圖表中的每一個(gè)柱形區(qū)域表示一個(gè)數(shù)據(jù)值,柱形越高表示值越大;柱形越低表示值越小。當(dāng)用戶需要比較不同類型的項(xiàng)目時(shí),使用柱形圖表將會比使用線形圖表更加直觀。圖1.57柱形圖表在Excel中,除了這3種類型的圖表之外,還有很多種類型的圖表,如曲面形、氣泡形、圓柱形等,限于篇幅,這里就不再介紹了,請讀者參閱Excel的幫助說明進(jìn)行學(xué)習(xí)。下面將分別通過示例來說明這3種不同類型圖表的具體應(yīng)用。1.5.2使用圖表向?qū)?chuàng)建圖表前面介紹了3種不同類型的圖表。在本節(jié)中,將分別講解如何使用圖表實(shí)現(xiàn)向?qū)?chuàng)建圖表。下面以月盈利信息工作表為例來講解如何創(chuàng)建線形圖表,其操作的具體步驟如下所示。(1)打開工作表,商品月盈利信息表如圖1.58所示。單擊“插入”選項(xiàng)卡下的【折線圖】按鈕,將彈出“圖表類型”提示窗口,在該窗口中選擇其中一個(gè)子圖表類型,如圖1.59所示。圖1.58月盈利信息表圖1.59選擇一個(gè)圖表類型(2)在圖1.59所示的窗口中選擇一個(gè)子圖表類型之后,在工作表中將出現(xiàn)圖表顯示區(qū)域窗口。此時(shí)Excel工作環(huán)境將自動切換到“設(shè)計(jì)”選項(xiàng)卡中,“設(shè)計(jì)”選項(xiàng)卡如圖1.60所示。圖1.60“設(shè)計(jì)”選項(xiàng)卡(3)在圖1.60所示的“設(shè)計(jì)”選項(xiàng)卡中單擊【選擇數(shù)據(jù)】按鈕,將彈出“選擇圖表數(shù)據(jù)源”對話框,在“圖表數(shù)據(jù)區(qū)域”中選擇要顯示的數(shù)據(jù)區(qū)域"=Sheet1!$A$1:$D$8",如圖1.61所示。圖1.61選擇圖表數(shù)據(jù)源(4)在圖1.61所示窗口中的“圖例項(xiàng)”列表中選擇“商品月盈利信息表07年1月份”,然后單擊【編輯】按鈕重新將系列名稱設(shè)置為“07年1月份”,單擊【確定】按鈕確認(rèn)系列名稱的修改,如圖1.62所示。圖1.62重命名系列名稱(5)按照步驟4的方法分別將“商品月盈利信息表07年2月份”系列名稱設(shè)置為“07年2月份”;將“商品月盈利信息表07年3月份”系列名稱設(shè)置為“07年3月份”。(6)在重命名完所有的系列名稱之后,返回到如圖1.61所示的對話框中,在該窗口中單擊【確定】按鈕,折線圖表創(chuàng)建完成??梢园l(fā)現(xiàn)此時(shí)的圖表沒有標(biāo)題,如圖1.63所示。圖1.63生成的折線圖表(7)在“設(shè)計(jì)”選項(xiàng)卡中單擊【快速布局】按鈕,將彈出“快速布局”提示窗口,如圖1.64所示。在該窗口中選擇第1個(gè)窗體布局的類型,此時(shí)的折線圖表將改變?yōu)樘砑訕?biāo)題的類型,如圖1.65所示。圖1.64圖表選項(xiàng)窗口圖1.65圖表位置窗口(8)在圖1.65所示的窗口中選中“圖表標(biāo)題”標(biāo)簽,將標(biāo)簽的內(nèi)容修改為“商品月銷售額統(tǒng)計(jì)圖表”,設(shè)置圖表的標(biāo)題。再選中“坐標(biāo)軸標(biāo)簽”,將標(biāo)簽的內(nèi)容修改為“盈利額(元)”,設(shè)置Y軸顯示的標(biāo)題,設(shè)置完標(biāo)題后的圖表如圖1.66所示。圖1.66最后生成的線形圖表創(chuàng)建餅形圖表和柱形圖表的步驟除了選擇創(chuàng)建圖表的類型不同外,其他的步驟都基本相同。按照創(chuàng)建線形圖表的操作步驟統(tǒng)計(jì)出月盈利信息工作表,其中“07年1月份”商品銷售情況的餅形圖表如圖1.67所示。圖1.67生成的餅形圖表注意圖表生成以后,可以通過鼠標(biāo)將圖表拖動到適當(dāng)?shù)奈恢?。按照?chuàng)建線形圖表的操作步驟統(tǒng)計(jì)出月盈利信息,工作表中商品銷售情況的柱形圖表如圖1.68所示。圖1.68生成的柱形圖表以上主要介紹了常用圖表的創(chuàng)建及使用方法。在Excel中,還可以使用很多種圖表類型來表示和統(tǒng)計(jì)數(shù)據(jù),如果讀者感興趣,可以自己通過Excel的幫助文件來學(xué)習(xí)更多圖表的使用方法。1.6舉一反三通過學(xué)習(xí)本章,可以使讀者了解和使用有關(guān)Excel操作的一些高級技巧。除了應(yīng)該掌握本章的相關(guān)內(nèi)容之外,讀者還應(yīng)該掌握以下與本章相關(guān)的內(nèi)容。?實(shí)現(xiàn)從SQLServer和Access數(shù)據(jù)庫中向Excel中導(dǎo)入數(shù)據(jù)。?使用排序功能排序工作表中的數(shù)據(jù)信息。?使用數(shù)學(xué)函數(shù)進(jìn)行各種數(shù)學(xué)運(yùn)算。?使用Excel中的形狀功能繪制各種控制流程圖。?創(chuàng)建各種復(fù)雜的數(shù)據(jù)透視表。?使用除了線形圖表、餅形圖表和柱形圖表以外的圖表類型創(chuàng)建圖表,顯示工作表中的數(shù)據(jù)信息。第2章ExcelVBA中的宏宏是ExcelVBA的基礎(chǔ)。在日常辦公過程中,經(jīng)常會使用Excel進(jìn)行編制表格、統(tǒng)計(jì)數(shù)據(jù)等操作。每一種操作可以稱為一個(gè)過程,然而在執(zhí)行這些過程時(shí),經(jīng)常會進(jìn)行許多重復(fù)的操作,如統(tǒng)計(jì)日報(bào)表、錄入相同的數(shù)據(jù)信息等。這不僅浪費(fèi)了大量的時(shí)間,而且還大大降低了工作人員的工作效率。在Excel中,通過宏可以自動執(zhí)行這些重復(fù)的操作,有效地幫助辦公人員自動地完成某些重復(fù)的工作。2.1認(rèn)識宏在Excel中,宏可以重復(fù)執(zhí)行一系列的操作。也就是說,只要宏運(yùn)行,就可以重復(fù)執(zhí)行在Excel中的操作。從本節(jié)開始將詳細(xì)地講解Excel中有關(guān)宏的相關(guān)知識。2.1.1宏的概念宏是被存儲在VisualBasic模塊中的一系列命令和函數(shù)。在需要執(zhí)行宏時(shí),宏可以立刻被執(zhí)行,簡單地說,宏就是一組動作的組合。在Excel中,用戶經(jīng)常需要頻繁地或重復(fù)錄入某些固定的內(nèi)容,如錄入公司員工名單、聯(lián)系方式、聯(lián)系地址等內(nèi)容。如果通過宏,就可以把每步錄入的操作和某些特定的操作記錄下來,然后將其綁定到某個(gè)按鈕上,這樣,用戶只需通過單擊該按鈕運(yùn)行宏,就可以自動完成這些重復(fù)性的操作,從而提高了操作人員的工作效率,同時(shí)也節(jié)省了大量的時(shí)間。宏使用起來比較方便、靈活。用戶不必為某一特殊的任務(wù)而去創(chuàng)建模板,只需在工具欄中單擊相應(yīng)的按鈕即可。同時(shí),宏還可以針對不同的情況將執(zhí)行的命令進(jìn)行任意組合,從而快速、準(zhǔn)確地完成所需要的各項(xiàng)工作。2.1.2宏的運(yùn)行原理在Excel中,宏是可以重復(fù)執(zhí)行的某些操作系列,例如在圖2.1所示的工作表當(dāng)中,單擊【輸入】按鈕就可以在單元格中輸入公司的地址信息。這里的單擊按鈕操作就是執(zhí)行“按鈕_單擊”的宏。圖2.1單擊按鈕執(zhí)行宏實(shí)際上,宏是保存在VisualBasic模塊當(dāng)中的一組程序代碼。通過這些程序代碼驅(qū)動著操作的自動執(zhí)行。當(dāng)單擊按鈕時(shí),這些由代碼組成的宏就會執(zhí)行與其相關(guān)的一些操作。“按鈕_單擊”宏的操作代碼如圖2.2所示。圖2.2與宏相關(guān)的程序代碼說明本節(jié)中主要說明的是有關(guān)宏的運(yùn)行原理,關(guān)于宏的實(shí)現(xiàn)方法將在后面的相關(guān)章節(jié)中進(jìn)行講解。2.1.3宏的制作方法在Excel中,制作宏主要有兩種不同的方法:錄制宏和編寫宏。Excel中所有的宏都是采用這兩種方法中的任一種來實(shí)現(xiàn)的。1.錄制宏錄制宏是指通過錄制的方法將Excel的操作過程以代碼的方式記錄并保存下來,也就是說,宏的代碼可以通過錄制的方法自動產(chǎn)生。錄制宏就像用錄像機(jī)把用戶所做的工作錄制下來,當(dāng)再次執(zhí)行時(shí),只需回放即可。錄制宏操作簡單、方便易學(xué),因此,完全不懂ExcelVBA編程的用戶也可以創(chuàng)建自己的VBA模塊,創(chuàng)建為自己工作服務(wù)的宏。如圖2.2所示的程序代碼就是通過錄制宏的方法記錄下來的。在Excel中,大部分的操作都可以通過錄制宏的方法得到操作的宏代碼,有關(guān)錄制宏的實(shí)現(xiàn)方法將在后面的章節(jié)中進(jìn)行介紹。2.編寫宏編寫宏是指在VBE開發(fā)環(huán)境中直接輸入操作過程的程序代碼,如圖2.2所示的程序代碼就是通常所說的VBA程序代碼。直接輸入操作過程的程序代碼與通過錄制宏實(shí)現(xiàn)的程序代碼執(zhí)行的結(jié)果相同。在了解了宏的制作方法之后,下面將具體地講解有關(guān)宏的一些基礎(chǔ)操作。2.2宏的錄制與維護(hù)錄制宏、編輯宏和刪除宏是關(guān)于宏的3種基礎(chǔ)操作。本節(jié)中將主要講解有關(guān)這3方面操作的相關(guān)知識。2.2.1添加“開發(fā)工具”選項(xiàng)卡在Excel中,在工作表中可以添加按鈕或文本框等控件。這些控件都被放置在Excel的“開發(fā)工具”選項(xiàng)卡當(dāng)中。在默認(rèn)的情況下,“開發(fā)工具”選項(xiàng)卡隱藏在Excel環(huán)境當(dāng)中,如果想使用,需要從“Excel選項(xiàng)”中進(jìn)行添加。添加“開發(fā)工具”選項(xiàng)卡的具體操作步驟如下。(1)打開Excel工作簿,單擊Excel左上角的【Office按鈕】圖標(biāo)按鈕,在彈出的下拉窗口中單擊【Excel選項(xiàng)】按鈕,如圖2.3所示。圖2.3選擇【Excel選項(xiàng)】按鈕(2)在圖2.3所示的窗口中單擊【Excel選項(xiàng)】按鈕之后,將彈出“Excel選項(xiàng)”對話框窗口,在該窗口中選擇“常用”選項(xiàng)卡,然后在該選項(xiàng)卡中選擇“在功能區(qū)顯示開發(fā)工具選項(xiàng)卡”選項(xiàng),如圖2.4所示。圖2.4“Excel選項(xiàng)”對話框窗口(3)在圖2.4所示的窗口中單擊【確定】按鈕,“開發(fā)工具”選項(xiàng)卡即被添加到Excel環(huán)境當(dāng)中。這樣,如果以后再打開Excel的時(shí)候,“開發(fā)工具”選項(xiàng)卡將會與其他默認(rèn)存在的選項(xiàng)卡一樣,存在于Excel的環(huán)境當(dāng)中。添加到Excel環(huán)境中的“開發(fā)工具”選項(xiàng)卡界面如圖2.5所示。圖2.5添加到Excel環(huán)境中的“開發(fā)工具”選項(xiàng)卡2.2.2錄制宏在Excel環(huán)境中添加了“開發(fā)工具”選項(xiàng)卡之后,通過該選項(xiàng)卡中的【錄制宏】按鈕,即可實(shí)現(xiàn)錄制宏的操作。下面以在前面介紹的“按鈕_單擊”的宏為例,來講解錄制宏的操作過程,具體實(shí)現(xiàn)的操作步驟如下所示。(1)打開Excel并確認(rèn)“開發(fā)工具”選項(xiàng)卡已經(jīng)添加。單擊“開發(fā)工具”選項(xiàng)卡下的【錄制宏】按鈕,將彈出“錄制新宏”對話框窗口。(2)在“錄制新宏”對話框窗口中的“宏名”文本框中輸入宏的名稱“按鈕_單擊”,在“保存在”下拉列表中選擇“當(dāng)前工作簿”,在“說明”文本框中輸入“宏錄制日期:2008-3-12”,如圖2.6所示。圖2.6“錄制新宏”對話框(3)在圖2.6所示的窗口中單擊【確定】按鈕,錄制宏操作開始,此時(shí)向工作表中輸入“長春市志遠(yuǎn)科技有限公司”。輸入完成之后,單擊【停止錄制】按鈕,將剛才輸入信息的過程錄制下來,即完成了宏“按鈕_單擊”的錄制過程,如圖2.7所示。圖2.7錄制完成后停止宏錄制的操作2.2.3編輯與刪除宏如果對錄制的宏不滿意,還可以對其進(jìn)行編輯或?qū)⑵鋭h除。編輯和刪除宏操作是通過“宏”對話框窗口來實(shí)現(xiàn)的,通常情況下編輯宏是指修改宏操作中的VBA程序代碼,對于非ExcelVBA編程人員來說,改寫VBA程序代碼可能會很困難。但這也沒有關(guān)系,如果不懂程序代碼,可以將宏刪除,然后按照正確的操作重新再錄制一遍即可。下面以“按鈕_單擊”宏為例,來講解編輯與刪除宏的操作步驟。(1)打開“按鈕_單擊”宏所在的Excel工作表,刪除工作表中的“長春市志遠(yuǎn)科技有限公司”信息。(2)單擊“開發(fā)工具”選項(xiàng)卡下的【宏】按鈕,在彈出的“宏”對話框窗口中選擇宏“按鈕_單擊”,如圖2.8所示。圖2.8編輯與刪除宏(3)在如圖2.8所示的窗口中直接單擊【刪除】按鈕,將彈出是否確認(rèn)刪除宏的確認(rèn)對話框,如果單擊【是】按鈕,則所選擇的宏將被刪除。(4)如果在如圖2.8所示的窗口中單擊【編輯】按鈕,將進(jìn)入到編輯宏代碼的VBE開發(fā)環(huán)境當(dāng)中,如圖2.9所示。圖2.9編輯宏之前的宏程序代碼(5)在如圖2.9所示的宏代碼窗口中添加或修改所需要的程序代碼,完成修改宏的操作,如圖2.10所示。圖2.10添加到宏中的程序代碼(6)退出ExcelVBA編輯器窗口,返回到Excel的工作表當(dāng)中。單擊“開發(fā)工具”選項(xiàng)卡下的【宏】按鈕,在彈出的“宏”對話框窗口中重新執(zhí)行“按鈕_單擊”宏,宏執(zhí)行后的結(jié)果如圖2.11所示。圖2.11修改宏代碼之后執(zhí)行宏的結(jié)果從圖2.11中可以發(fā)現(xiàn),宏所執(zhí)行的操作比原來多了一個(gè)輸入公司聯(lián)系電話的信息“聯(lián)系電話”,該信息的輸入就是通過修改宏中的程序代碼來實(shí)現(xiàn)的。2.2.4保存帶宏的工作簿在Excel2007中,如果創(chuàng)建的工作簿帶有宏,則保存該工作簿時(shí)的操作與保存不帶宏的工作簿的操作有一定的區(qū)別。本節(jié)中將對如何保存帶宏的工作簿進(jìn)行詳細(xì)說明,以后在保存帶宏的工作簿時(shí),讀者可按照本節(jié)的操作步驟進(jìn)行操作。下面以保存在前面錄制的“按鈕_單擊”宏為例,來具體說明保存帶宏工作簿操作的詳細(xì)步驟。(1)打開Excel,在錄制完宏“按鈕_單擊”之后,關(guān)閉Excel工作簿。在確認(rèn)保存Excel工作簿之后,將彈出如圖2.12所示的對話框窗口。圖2.12確認(rèn)是否保存帶宏的工作簿(2)如果在圖2.12所示的對話框窗口中單擊【是】按鈕,則Excel工作簿被保存,但是Excel工作簿中的宏將沒有被保存。(3)如果在如圖2.12所示的對話框窗口中單擊【否】按鈕,將彈出“另存為”對話框窗口,在該窗口中的“保存類型”下拉列表框中選擇“Excel啟用宏的工作簿”選項(xiàng),如圖2.13所示。單擊【保存】按鈕之后,Excel工作簿及其所錄制的宏都將會被完整地保存。圖2.13保存帶宏的工作簿2.3執(zhí)行宏本節(jié)中將詳細(xì)講解有關(guān)執(zhí)行宏方面的相關(guān)知識,包括使用快捷鍵執(zhí)行宏、通過窗體按鈕執(zhí)行宏和通過圖形執(zhí)行宏等相關(guān)的操作。2.3.1運(yùn)行宏宏錄制完成之后,就可以通過運(yùn)行宏執(zhí)行相應(yīng)的操作。下面以運(yùn)行前面錄制的“按鈕_單擊”宏為例,來講解宏的運(yùn)行過程,其具體實(shí)現(xiàn)的操作步驟如下所示。(1)打開宏“按鈕_單擊”所在的Excel工作表,刪除工作表中的“長春市志遠(yuǎn)科技有限公司”信息。(2)單擊“開發(fā)工具”選項(xiàng)卡下的【宏】按鈕,將彈出“宏”對話框窗口。在該窗口中的“宏名”列表中選擇宏“按鈕_單擊”,如圖2.14所示。圖2.14“宏”對話框窗口(3)在如圖2.14所示的窗口中單擊【執(zhí)行】按鈕,運(yùn)行“按鈕_單擊”宏,此時(shí)工作表的單元格中將自動被“輸入”宏所錄制的信息,如圖2.15所示。圖2.15運(yùn)行宏后的結(jié)果在Excel2007中,需要在“開發(fā)工具”選項(xiàng)卡下單擊【宏安全性】按鈕,在彈出的“信任中心”對話框窗口中的“宏設(shè)置”選項(xiàng)中選擇【啟用所有宏】單選按鈕,然后單擊【確定】按鈕完成設(shè)置,如圖2.16所示。否則在執(zhí)行或保存宏時(shí)將會出現(xiàn)錯誤。圖2.16設(shè)置宏操作2.3.2通過快捷鍵執(zhí)行宏在前面講解的錄制宏操作的過程中,細(xì)心的讀者可能會發(fā)現(xiàn),在“宏”對話框窗口中有一個(gè)“快捷鍵”選項(xiàng)。用戶可在其文本框中為所錄制的宏輸入一個(gè)快捷鍵,即在文本框中輸入一個(gè)字母??捎肅trl+字母(小寫字母)的形式,如給“按鈕_單擊”宏設(shè)置快捷鍵"Ctrl+w",如圖2.17所示。輸入的字母可以是鍵盤上的任意字母鍵,但不可以是數(shù)值或其他一些特殊字符(如¥或#等)。圖2.17給宏設(shè)置快捷鍵當(dāng)宏被設(shè)置了快捷鍵之后,在Excel的工作表當(dāng)中,按下Ctrl+字母(小寫字母)鍵(如Ctrl+w),即可執(zhí)行所錄制的宏操作。執(zhí)行效果與在“宏”對話框窗口中單擊【執(zhí)行】按鈕執(zhí)行宏操作的效果相同。如果想更改宏的快捷鍵或者對沒有設(shè)置快捷鍵的宏設(shè)置快捷鍵,可以在“宏”對話框窗口中選擇要修改或設(shè)置快捷鍵宏的名稱,然后單擊【選項(xiàng)】按鈕,在隨后彈出的“宏選項(xiàng)”對話框窗口中修改快捷鍵或者重新設(shè)置快捷鍵,如圖2.18所示。圖2.18修改宏的快捷鍵注意如果在打開的Excel工作表中存在宏及其快捷鍵,則宏快捷鍵優(yōu)先于任何同級別的Excel的默認(rèn)快捷鍵。2.3.3通過窗體按鈕執(zhí)行宏在前面介紹宏的運(yùn)行原理時(shí),介紹了在Excel工作表中單擊【輸入】按鈕執(zhí)行宏的示例,本節(jié)中將講解該示例實(shí)現(xiàn)的具體步驟。(1)打開“按鈕_單擊”宏(該宏已經(jīng)錄制完成)所在的Excel工作表,刪除工作表中的內(nèi)容。在確認(rèn)“開發(fā)工具”選項(xiàng)卡已經(jīng)添加之后,單擊“開發(fā)工具”選項(xiàng)卡下的【插入】按鈕。此時(shí)將彈出控件工具箱窗口,在該工具箱窗口中單擊“表單控件”中的按鈕控件,如圖2.19所示。圖2.19控件工具箱(2)在圖2.19所示的窗口中單擊按鈕控件之后,將按鈕控件拖放到Excel工作表中相應(yīng)的位置,如圖2.20所示。圖2.20向工作表中添加的按鈕控件(3)當(dāng)拖放控件動作完成之后,將會立刻彈出“指定宏”對話框窗口,在該窗口中選擇指定宏的名稱“按鈕_單擊”,如圖2.21所示。圖2.21給按鈕控件指定宏(4)如果想修改指定的宏操作,可以在如圖2.21所示的窗口中單擊【編輯】按鈕,進(jìn)入到VBA編輯器環(huán)境中,通過編輯宏代碼對指定的宏進(jìn)行修改。(5)如果確定指定的宏正確無誤,則單擊【確定】按鈕,完成指定宏的操作。(6)如果想修改已經(jīng)添加按鈕的顯示標(biāo)簽,可直接選中按鈕的顯示標(biāo)簽,然后直接修改即可,如將默認(rèn)的“按鈕1”標(biāo)簽修改為“輸入”,如圖2.22所示。圖2.22修改添加按鈕的顯示標(biāo)簽(7)將光標(biāo)離開添加的按鈕控件,此時(shí)單擊【輸入】按鈕,“按鈕_單擊”宏將被執(zhí)行。單擊【輸入】按鈕執(zhí)行宏的結(jié)果如圖2.23所示。圖2.23單擊按鈕執(zhí)行宏注意如果想重新指定宏操作,首先讓光標(biāo)離開【輸入】按鈕控件,然后在【輸入】按鈕上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“指定宏”菜單項(xiàng),最后在彈出的“指定宏”對話框窗口中重新指定宏即可。2.3.4通過圖形執(zhí)行宏除了上述兩種執(zhí)行宏操作的方法之外,還可以將宏指定到圖片上執(zhí)行宏。通過圖片指定宏的目的是允許用戶使用自己的圖片按鈕,這樣使得開發(fā)者可以設(shè)計(jì)出更加漂亮的用戶界面。下面通過一個(gè)具體的示例來講解如何將宏指定給圖片,示例具體實(shí)現(xiàn)的操作步驟如下所示。(1)打開Excel,單擊“開發(fā)工具”選項(xiàng)卡下的【錄制宏】按鈕,錄制一個(gè)“公司信息”宏,錄制完成后的宏代碼如圖2.24所示。圖2.24錄制完成后的宏信息(2)刪除工作表中剛才錄入的所有信息,然后選擇工作表中任意的一個(gè)單元格。(3)單擊“插入”選項(xiàng)卡下的【圖片】按鈕,在彈出的對話框窗口中選擇要添加的圖片,添加圖片后的工作表界面如圖2.25所示。圖2.25向工作表中添加的圖片(4)在添加的圖片上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“指定宏”命令,此時(shí)彈出“指定宏”對話框窗口,在該窗口中選擇宏“公司信息”,如圖2.26所示。圖2.26給添加的圖片指定宏(5)在如圖2.26所示的窗口中單擊【確定】按鈕,完成將宏指定給圖片的操作。(6)將光標(biāo)離開添加的圖片,然后單擊該圖片,即可執(zhí)行宏“公司信息”,在工作表中顯示錄制的宏信息,如圖2.27所示。圖2.27通過圖片執(zhí)行宏的結(jié)果可以看出,通過圖片執(zhí)行宏與通過按鈕執(zhí)行宏除了添加控件的方式不相同之外,其余的操作步驟都基本相同。在給添加的圖片指定宏之后,其執(zhí)行宏效果與單擊按鈕執(zhí)行宏的效果完全相同。2.3.5添加工具欄命令執(zhí)行宏前面介紹執(zhí)行宏的方法都是將執(zhí)行控件放置在工作表當(dāng)中。實(shí)際上,如果需要,也可以將宏指定給工具欄中的自定義按鈕。下面以將“公司信息”宏指定給工具欄中的自定義按鈕為例,來講解將宏指定給工具欄按鈕的實(shí)現(xiàn)方法。(1)打開帶有“公司信息”宏的Excel工作簿。(2)在工具欄上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“自定義快速訪問工具欄”選項(xiàng),此時(shí)將彈出“Excel選項(xiàng)”對話框中的“自定義”選項(xiàng)卡中的內(nèi)容,如圖2.28所示。圖2.28自定義選項(xiàng)卡中的內(nèi)容(3)在圖2.28所示選項(xiàng)卡中的“從下列位置選擇命令”下拉列表中選擇“宏”選項(xiàng),然后再在其下面的列表中選擇要添加到工具欄中的宏“公司信息”,單擊【添加】按鈕,將宏添加到“自定義快速訪問工具欄”當(dāng)中,如圖2.29所示。圖2.29將宏添加到自定義快速訪問工具欄中(4)在圖2.29所示的窗口中單擊【確定】按鈕,將宏添加到“自定義快速訪問工具欄”當(dāng)中。(5)單擊“自定義快速訪問工具欄”當(dāng)中的【公司信息】按鈕,則執(zhí)行宏“公司信息”,在工作表中顯示宏的錄制信息,如圖2.30所示。圖2.30添加到自定義快速訪問工具欄中的宏2.4加載宏加載宏是一類可選的、用于增加Excel命令或功能的程序。這些功能Excel本身并不具有,或者沒有被加載到Excel環(huán)境當(dāng)中。當(dāng)這些宏被加載之后,便可以在打開的Excel工作簿中使用加載宏所提供的功能。2.4.1Excel提供的加載宏Excel本身提供了幾種加載宏的命令。如果將這些命令添加到Excel當(dāng)中的話會在很大程度上擴(kuò)充Excel的基本功能。添加Excel本身提供的加載宏命令的步驟如下所示。(1)打開Excel工作簿,單擊Excel左上角的【Office按鈕】圖標(biāo)按鈕,在彈出的下拉窗口中單擊【Excel選項(xiàng)】按鈕,將彈出“Excel選項(xiàng)”對話框窗口。(2)在“Excel選項(xiàng)”對話框窗口中選擇“加載項(xiàng)”選項(xiàng)卡,然后單擊【轉(zhuǎn)到】按鈕,如圖2.31所示。圖2.31“加載項(xiàng)”選項(xiàng)卡(3)在圖2.31所示的窗口中單擊【轉(zhuǎn)到】按鈕之后,將彈出“加載宏”對話框窗口,在該窗口中的“可用加載宏”列表中選取需要添加的加載宏命令,如選取“分析工具庫”加載項(xiàng),如圖2.32所示。單擊【確定】按鈕完成對“分析工具庫”命令的加載,此時(shí)當(dāng)打開“數(shù)據(jù)”選項(xiàng)卡時(shí),將會發(fā)現(xiàn)已經(jīng)添加了“數(shù)據(jù)分析”命令,如圖2.33所示。圖2.32添加Excel自帶的加載宏圖2.33添加與分析工具庫相關(guān)的命令選項(xiàng)2.4.2通過錄制宏制作加載宏如果用戶錄制的宏在每個(gè)打開的Excel文件中都可以使用,例如一個(gè)制作固定格式表格的宏,則在每一個(gè)打開的Excel工作簿中只需執(zhí)行該宏,然后在表格中錄入信息即可,避免了再重復(fù)制作表格的過程。若想解決上述的問題,可以通過下面的操作步驟來實(shí)現(xiàn)。(1)打開Excel工作簿,錄制制作固定格式表格的宏“錄制表格”,然后保存帶宏的Excel工作簿。(2)打開剛剛錄制宏的Excel工作簿,單擊【Office按鈕】按鈕,然后選擇“另存為”命令,在彈出的“另存為”對話框窗口中的“保存類型”下拉列表中選擇“Excel加載宏”選項(xiàng),如圖2.34所示,然后單擊【保存】按鈕。圖2.34保存為加載宏文件(3)打開一個(gè)新的Excel工作簿,單擊Excel左上角的【Office按鈕】圖標(biāo)按鈕,在彈出的下拉窗口中單擊【Excel選項(xiàng)】按鈕,將彈出“Excel選項(xiàng)”對話框窗口。(4)在“Excel選項(xiàng)”對話框窗口中選擇“加載項(xiàng)”選項(xiàng)卡,然后單擊【轉(zhuǎn)到】按鈕,將彈出“加載宏”對話框窗口,在該窗口中的“可用加載宏”列表中可以發(fā)現(xiàn)增加了一個(gè)命令項(xiàng)“2.4.2(出勤表格)”,如圖2.35所示。在選取該項(xiàng)之后,單擊【確定】按鈕將該命令添加到Excel工作簿當(dāng)中。圖2.35添加保存的加載宏2.4.3通過其他來源提供的加載宏其他來源主要是指從網(wǎng)上下載或他人提供的加載宏文件。加載其他來源提供的加載宏的方法如下所示。打開Excel工作簿,在“加載宏”對話框中單擊【瀏覽】按鈕,在彈出的如圖2.36所示的對話框窗口中找到要加載宏文件所在的位置,選取加載宏文件,然后單擊【確定】按鈕,返回到“加載宏”對話框窗口當(dāng)中,此時(shí)該加載宏將會出現(xiàn)在“可用加載宏”列表當(dāng)中,如圖2.36所示,單擊【確定】按鈕完成加載。圖2.36選擇加載的宏文件,選擇的加載宏出現(xiàn)在加載宏列表當(dāng)中2.5宏的數(shù)字簽名數(shù)字簽名可以讓用戶的宏安全通過Excel的高級別驗(yàn)證。微軟允許用戶通過使用數(shù)字證書對文件或宏工程進(jìn)行數(shù)字簽名。用來創(chuàng)建此簽名的證書將確認(rèn)宏或文檔是否來源于簽名者,并且簽名將確認(rèn)該宏或文檔是否有所更改。當(dāng)設(shè)置宏的安全級別時(shí),可根據(jù)宏是否由可靠來源列表上的開發(fā)者進(jìn)行數(shù)字簽名來運(yùn)行宏。使用宏的數(shù)字簽名主要是為了防止網(wǎng)絡(luò)中宏病毒的入侵。對于Excel中包含有宏的文檔,通常情況下都要將安全級別設(shè)置為中級,這樣,對于不可靠的宏,Excel會提醒用戶是否啟用宏。通過這樣方法,可以防止計(jì)算機(jī)因打開含有宏病毒的Excel文件而染上病毒,從而破壞計(jì)算機(jī)系統(tǒng),給用戶帶來不必要的損失。使用數(shù)字簽名需具備以下兩個(gè)前提條件。(1)由于數(shù)字簽名需要IE瀏覽器的支持,因此,在計(jì)算機(jī)系統(tǒng)中需要安裝MicrosoftInternetExplorer4.0或以后的更高版本。(2)在安裝Office時(shí),需要選擇數(shù)字簽名一項(xiàng)。2.5.1安裝數(shù)字簽名如果在安裝Office時(shí)沒有選擇安裝數(shù)字簽名,則可以安裝完Office之后再進(jìn)行安裝,具體的安裝方法如下所示。(1)選擇【開始】→【控制面板】→【添加/刪除程序】命令,然后打開“添加或刪除程序”窗口。(2)在“添加或刪除程序”窗口中選擇"MicrosoftOfficeProfessionalPlus2007"選項(xiàng)(不同的版本選擇也不同),如圖2.37所示。單擊【更改】按鈕,將彈出"MicrosoftOfficeProfessionalPlus2007"的安裝窗口。圖2.37添加刪除程序窗口(3)在如圖2.37所示的"MicrosoftOfficeProfessionalPlus2007"安裝窗口中選擇【添加或刪除功能】單選按鈕,如圖2.38所示。單擊【繼續(xù)】按鈕,將彈出選擇安裝組件窗口,如圖2.39所示。圖2.38程序安裝窗口(4)在安裝組件窗口中選擇“Office共享功能”下的“VBA項(xiàng)目的數(shù)字證書”選項(xiàng),在該選項(xiàng)中選擇“從本機(jī)運(yùn)行”選項(xiàng),如圖2.39所示。圖2.39安裝組件窗口(5)在如圖2.39所示的窗口中單擊【繼續(xù)】按鈕,則開始安裝“VBA項(xiàng)目的數(shù)字證書”組件。(6)安裝成功后,如圖2.40所示。圖2.40組件安裝成功后的界面2.5.2數(shù)字簽名的應(yīng)用安裝完數(shù)字簽名之后,就可以創(chuàng)建自己的數(shù)字簽名了。下面介紹如何創(chuàng)建以及應(yīng)用所創(chuàng)建的數(shù)字簽名,具體的操作步驟如下所示。(1)選擇【開始】→【程序】→【MicrosoftOffice】→【MicrosoftOffice工具】→【VBA項(xiàng)目的數(shù)字證書】命令,將彈出“創(chuàng)建數(shù)字證書”對話框窗口。(2)在“創(chuàng)建數(shù)字證書”對話框窗口中的“您的證書名稱”文本框中輸入證書名稱(如AAA),單擊【確定】按鈕,數(shù)字簽名創(chuàng)建完成,如圖2.41所示。圖2.41創(chuàng)建數(shù)字簽名(3)打開要進(jìn)行數(shù)字簽名的Excel文件,按下Alt+F11組合鍵進(jìn)入到VBE開發(fā)環(huán)境當(dāng)中。執(zhí)行【工具】→【數(shù)字簽名】命令,打開“數(shù)字簽名”對話框窗口,如圖2.42所示。圖2.42“數(shù)字簽名”窗口(4)在圖2.42所示的“數(shù)字簽名”窗口中單擊【選擇】按鈕,將彈出“選擇證書”窗口,如圖2.43所示。在該窗口中的“選擇要使用的證書”列表中選擇證書的名稱,然后單擊【確定】按鈕,返回到“數(shù)字簽名”窗口當(dāng)中,此時(shí)該窗口如圖2.44所示。圖2.43“選擇證書”窗口圖2.44數(shù)字簽名成功(5)保存Excel文件,數(shù)字簽名成功。2.6宏的實(shí)際應(yīng)用通過學(xué)習(xí)上面的一些內(nèi)容,相信讀者已經(jīng)對宏有了一定的了解。本節(jié)中將通過幾個(gè)典型的示例,來講解在實(shí)際工作中宏的具體應(yīng)用。2.6.1示例:自動完成數(shù)據(jù)累計(jì)【本節(jié)示例參考:\代碼\第2章\2.6.1.xlsm】在Excel的基本功能中,不支持自動累加運(yùn)算。然而,在設(shè)置累加數(shù)據(jù)報(bào)表的時(shí)候,累加數(shù)的設(shè)置是比較繁瑣的事。本節(jié)中就通過一個(gè)示例講解如何通過錄制宏完成自動累加計(jì)算。在本示例中,將在Excel的工作表中添加兩個(gè)按鈕,然后通過錄制宏來實(shí)現(xiàn)自動累加計(jì)算和清空月數(shù)據(jù)的功能。示例實(shí)現(xiàn)的步驟如下所示。(1)打開Excel工作簿,在工作簿的"Sheet1"工作表中輸入以下的數(shù)據(jù)信息,如圖2.45所示。圖2.45在工作表中輸入的數(shù)據(jù)信息(2)單擊“開發(fā)工具”選項(xiàng)卡下的【錄制宏】按鈕,在彈出的“錄制新宏”窗口中的“宏名”文本框中輸入“累加數(shù)據(jù)”,然后在“說明”文本框中輸入錄制宏的時(shí)間信息,如圖2.46所示。單擊【確定】按鈕,開始錄制新宏。圖2.46錄制宏(3)選取B列數(shù)據(jù)并且進(jìn)行復(fù)制,然后選取C3單元格。在C3單元格上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中執(zhí)行【選擇性粘貼】命令,此時(shí)彈出“選擇性粘貼”窗口,在該窗口中的“運(yùn)算”欄中選取運(yùn)算方式為【加】的單選按鈕,如圖2.47所示。圖2.47執(zhí)行【選擇性粘貼】命令(4)在“選擇性粘貼”窗口中單擊【確定】按鈕,然后單擊“開發(fā)工具”中的【停止錄制】按鈕,完成宏的錄制過程。(5)單擊“開發(fā)工具”選項(xiàng)卡下的【插入】按鈕,在工作表"Sheet1"中添加一個(gè)按鈕控件,如圖2.48所示。在隨后彈出的“指定宏”對話框窗口中選擇“累加數(shù)據(jù)”宏,如圖2.49所示。單擊【確定】按鈕,完成指定宏的操作。圖2.48在工作表中添加的按鈕控件圖2.49為添加的按鈕控件指定宏(6)將添加按鈕的名稱由原來的“按鈕1”修改為“累加”。(7)單擊“開發(fā)工具”選項(xiàng)卡下的【錄制宏】按鈕,在彈出的“錄制新宏”窗口中的“宏名”文本框中輸入“清空數(shù)據(jù)”,在“說明”文本框中輸入錄制宏的時(shí)間信息,然后單擊【確定】按鈕,開始錄制新宏。(8)選取B列數(shù)據(jù),按下Delete鍵將選中的數(shù)據(jù)刪除,如圖2.50所示。單擊“開發(fā)工具”中的“停止錄制”按鈕,完成宏的錄制過程。圖2.50清空本月數(shù)據(jù)(9)單擊“開發(fā)工具”選項(xiàng)卡下的【插入】按鈕,在工作表"Sheet1"中再次添加一個(gè)按鈕控件,如圖2.51所示。在隨后彈出的“指定宏”對話框窗口中選擇“清空數(shù)據(jù)”宏,如圖2.52所示。單擊【確定】按鈕,完成指定宏的操作。圖2.51添加用于清空數(shù)據(jù)的按鈕圖2.52指定清空數(shù)據(jù)的宏(10)將添加的“按鈕2”的名稱修改為“清空”。將鼠標(biāo)離開按鈕控件,當(dāng)在工作表中錄入完本月的各項(xiàng)開銷費(fèi)用之后,單擊【累加】按鈕,則在工作表中的“累加費(fèi)用”列中將顯示累加后的費(fèi)用信息。如果到了下一月需要再次累加數(shù)據(jù)的時(shí)候,則單擊【清空】按鈕清空上月的開銷費(fèi)用數(shù)據(jù),在重新輸入本月的開銷費(fèi)用數(shù)據(jù)之后,單擊【累加】按鈕繼續(xù)累加數(shù)據(jù)。示例的運(yùn)行結(jié)果如圖2.53所示。圖2.53示例的運(yùn)行結(jié)果2.6.2示例:通過快捷鍵設(shè)置排名【本節(jié)示例參考:\代碼\第2章\2.6.2.xlsm】在一個(gè)大型企業(yè)中,企業(yè)員工都多達(dá)上千人?,F(xiàn)在想統(tǒng)計(jì)出有關(guān)企業(yè)員工實(shí)發(fā)工資的排名信息,如果通過手動計(jì)算實(shí)現(xiàn)排名不但會很煩瑣,而且也有出現(xiàn)排錯的可能。通過宏可以解決這一問題,下面通過示例來說明。本示例實(shí)現(xiàn)的是通過設(shè)置一個(gè)快捷鍵實(shí)現(xiàn)將員工的實(shí)發(fā)工資自動排名的功能。假設(shè)某企業(yè)員工的實(shí)發(fā)工資包括編號、姓名、基本工資、獎金、補(bǔ)貼和總計(jì)幾項(xiàng)。員工原始實(shí)發(fā)工資表如圖2.54所示。圖2.54員工原始實(shí)發(fā)工資表示例實(shí)現(xiàn)的具體步驟如下所示。(1)打開Excel工作簿,在工作簿的"Sheet1"工作表中輸入如圖2.54所示的數(shù)據(jù)信息。(2)選中A3:F8,單擊“開發(fā)工具”選項(xiàng)卡下的【錄制宏】按鈕,在彈出的“錄制新宏”窗口中的“宏名”文本框中輸入“統(tǒng)計(jì)排名”,將宏的快捷鍵設(shè)置為"Ctrl+s",然后在“說明”文本框中輸入錄制宏的時(shí)間信息,如圖2.55所示。單擊【確定】按鈕,開始錄制新宏。圖2.55錄制宏(3)單擊“開發(fā)工具”選項(xiàng)卡下的【使用相對引用】按鈕。(4)單擊“數(shù)據(jù)”選項(xiàng)卡下的【排序】按鈕,將彈出“排序”窗口,在該窗口中的“主要關(guān)鍵字”欄中選擇“總計(jì)”字段,在其后面的“排序依據(jù)”和“次序”列表中分別選擇“數(shù)值”項(xiàng)和“升序”項(xiàng),如圖2.56所示。圖2.56設(shè)置主要關(guān)鍵字排序(5)單擊“排序”窗口中的【添加條件】按鈕,在窗口中的列表中將增加一個(gè)“次要關(guān)鍵字”的“條件值”,在該“條件值”的“次要關(guān)鍵字”欄中選擇“總計(jì)”字段,在其后面的“排序依據(jù)”和“次序”列表中分別選擇“數(shù)值”項(xiàng)和“升序”項(xiàng),如圖2.57所示。設(shè)置完成后單擊【確定】按鈕。圖2.57設(shè)置次要關(guān)鍵字排序說明如果想要刪除“主要關(guān)鍵字”條件或“次要關(guān)鍵字”條件,則將其選中,然后單擊【刪除條件】按鈕即可。(6)單擊“開發(fā)工具”選項(xiàng)卡下的【停止錄制】按鈕,結(jié)束宏的錄制?!敖y(tǒng)計(jì)排名”宏錄制完成以后,如果以后需要對員工的實(shí)發(fā)工資按照實(shí)發(fā)工資總計(jì)進(jìn)行排名,只需選中需要排序的所有員工的記錄信息,然后按住Ctrl+s快捷鍵,員工記錄就會按照“總計(jì)”升序排序,當(dāng)“總計(jì)”信息相同時(shí),將按照“編號”升序排序,如圖2.58所示。圖2.58按下Ctrl+s快捷鍵的排序結(jié)果2.6.3示例:實(shí)現(xiàn)高級篩選功能【本節(jié)示例參考:\代碼\第2章\2.6.3.xlsm】在Excel中,通過“高級”篩選功能可以實(shí)現(xiàn)篩選復(fù)雜條件數(shù)據(jù)信息的功能,但是需要每次都執(zhí)行“數(shù)據(jù)”選項(xiàng)卡下的【高級】按鈕命令。本節(jié)中將通過一個(gè)示例來講解如何通過錄制宏來完成高級篩選的自動操作功能。本示例實(shí)現(xiàn)的是根據(jù)如圖2.59所示的“成績明細(xì)”表和如圖2.60所示的“篩選結(jié)果”中A1:C2的條件區(qū)域,把結(jié)果篩選到該表中的A4:E4區(qū)域。圖2.59成績明細(xì)表圖2.60篩選結(jié)果表示例實(shí)現(xiàn)的具體步驟如下所示。(1)打開Excel工作簿,分別將工作表"Sheet1"的名稱修改為“成績信息”,工作表"Sheet2"的名稱修改為“篩選結(jié)果”。(2)在成績信息表中輸入如圖2.59所示的數(shù)據(jù)信息,在篩選結(jié)果表中輸入如圖2.60所示的數(shù)據(jù)信息。(3)單擊“開發(fā)工具”選項(xiàng)卡下的【錄制宏】按鈕,在彈出的“錄制新宏”窗口中的“宏名”文本框中輸入“高級篩選”,在“說明”文本框中輸入錄制宏的時(shí)間信息,如圖2.61所示。單擊【確定】按鈕,開始錄制新宏。圖2.61錄制宏(4)單擊“數(shù)據(jù)”選項(xiàng)卡下的【篩選】按鈕,在彈出的“高級篩選”窗口中完成如圖2.62所示的設(shè)置。圖2.62設(shè)置高級篩選條件(5)單擊“開發(fā)工具”選項(xiàng)卡下的【停止錄制】按鈕,結(jié)束宏的錄制。(6)單擊“開發(fā)工具”選項(xiàng)卡下的【插入】按鈕,在工作表中添加一個(gè)按鈕控件,如圖2.63所示。圖2.63在工作表中添加按鈕控件(7)在隨后彈出的“指定宏”窗口中選擇“高級篩選”宏,完成指定宏的操作,如圖2.64所示。圖2.64為添加的按鈕控件指定宏(8)將添加按鈕的名稱修改為“篩選”。在“篩選結(jié)果”工作表中的A2:C3中輸入“男”,然后單擊【篩選】按鈕,其下面的單元格中將顯示出篩選結(jié)果的信息,如圖2.65所示。圖2.65示例的運(yùn)行結(jié)果2.6.4示例:計(jì)算員工工資【本節(jié)示例參考:\代碼\第2章\2.6.4.xlsm】每一個(gè)企業(yè)在每個(gè)月中都要計(jì)算一次員工的實(shí)發(fā)工資。如果每次都通過手動去計(jì)算工資,不但會增加繁重的工作量,而且還有可能出現(xiàn)計(jì)算錯誤。在Excel中,通過“宏”操作可以完成自動計(jì)算的功能,具體實(shí)現(xiàn)請看下面的示例。本示例中,在Excel工作表中添加一個(gè)按鈕,然后通過錄制宏來實(shí)現(xiàn)自動計(jì)算員工每個(gè)月實(shí)發(fā)工資的功能。示例實(shí)現(xiàn)的具體步驟如下所示。(1)新建一個(gè)Excel工作簿,在工作簿的"Sheet1"工作表中輸入以下的數(shù)據(jù)信息,如圖2.66所示。圖2.66在工作表中添加的員工工資信息(2)在“開發(fā)工具”選項(xiàng)卡下單擊【錄制宏】按鈕,在彈出的“錄制新宏”窗口中的“宏名”文本框中輸入“計(jì)算工資”,在“說明”文本框中輸入“宏”的說明信息,如圖2.67所示。單擊【確定】按鈕,開始錄制宏。圖2.67錄制“計(jì)算工資”宏(3)選取工作表中B3:E3的單元格區(qū)域,然后單擊“公式”選項(xiàng)卡下的【自動求和】按鈕,在彈出的下拉列表中選擇【求和】命令,如圖2.68所示。圖2.68通過求和公式計(jì)算員工的實(shí)發(fā)工資(4)在圖2.68所示的圖中選擇【求和】命令之后,在工作表中的“實(shí)發(fā)工資”列中將自動計(jì)算出相應(yīng)員工的實(shí)發(fā)工資,如圖2.69所示。圖2.69通過求和公式計(jì)算出的實(shí)發(fā)工資(5)按照步驟3和步驟4分別計(jì)算剩余員工的實(shí)發(fā)工資,計(jì)算完成后的員工信息表如圖2.70所示。圖2.70計(jì)算完成后的員工工資(6)單擊“開發(fā)工具”選項(xiàng)卡下的【停止錄制】按鈕,結(jié)束宏的錄制。說明當(dāng)停止錄制宏的操作以后,以上的操作步驟都被錄制到宏當(dāng)中。這樣,當(dāng)員工的基本工資或加班費(fèi)等工資項(xiàng)目被改變或者“實(shí)發(fā)工資”列表為空時(shí),在執(zhí)行所錄制的宏之后,就會根據(jù)所錄制的宏自動計(jì)算出該員工的實(shí)發(fā)工資信息。(7)刪除工作表中計(jì)算出的“實(shí)發(fā)工資”列中的數(shù)據(jù)信息,如圖2.71所示。圖2.71刪除“實(shí)發(fā)工資”列中數(shù)據(jù)信息后的工作表(8)單擊“開發(fā)工具”選項(xiàng)卡下的【宏】按鈕,在彈出的“宏”對話框窗口中選擇“計(jì)算工資”宏,然后單擊【執(zhí)行】按鈕執(zhí)行宏,如圖2.72所示。圖2.72執(zhí)行宏操作(9)在執(zhí)行宏操作之后,又重新執(zhí)行了一遍計(jì)算員工實(shí)發(fā)工資的操作,執(zhí)行宏之后的操作結(jié)果如圖2.73所示。圖2.73執(zhí)行宏之后的操作結(jié)果實(shí)際上,通過宏還可以實(shí)現(xiàn)很多的復(fù)雜操作,限于篇幅,這里就不在介紹了。請讀者自己去思考練習(xí)。2.7舉一反三本章主要講解了有關(guān)宏操作的相關(guān)知識。除了本章所介紹的內(nèi)容之外,讀者還應(yīng)該掌握以下幾個(gè)有關(guān)宏的相關(guān)內(nèi)容。?深刻理解宏的執(zhí)行方式和運(yùn)行原理,在錄制完宏之后,能夠熟練地通過改寫程序代碼改寫宏。?能夠熟練地運(yùn)用宏來完成日常辦公中的工作任務(wù)。?制作一個(gè)屬于自己的數(shù)字簽名,用于保護(hù)計(jì)算機(jī)系統(tǒng)不受病毒侵害。?通過錄制一個(gè)宏,實(shí)現(xiàn)計(jì)算超市每月的銷售額。?通過錄制一個(gè)宏,實(shí)現(xiàn)一個(gè)簡單的計(jì)數(shù)器,通過該計(jì)數(shù)器,能夠?qū)崿F(xiàn)簡單的數(shù)學(xué)運(yùn)算。?通過錄制一個(gè)宏,實(shí)現(xiàn)統(tǒng)計(jì)企業(yè)員工每月的工作業(yè)績信息。第二篇ExcelVBA開發(fā)環(huán)境和語法篇第3章ExcelVBA及其開發(fā)環(huán)境在學(xué)習(xí)了Excel的一些高級操作以及有關(guān)宏的相關(guān)知識之后,就可以正式進(jìn)入到ExcelVBA(簡稱VBA)的學(xué)習(xí)階段了。本章首先向讀者講解有關(guān)VBA的一些基礎(chǔ)知識,包括VBA的基本概念、VBA的歷史和VBE開發(fā)環(huán)境等內(nèi)容。3.1VBA概述在前面學(xué)習(xí)的內(nèi)容當(dāng)中,讀者對ExcelVBA(在本書中,以后將簡稱VBA)應(yīng)該已經(jīng)有了一些簡單的了解。本節(jié)中將系統(tǒng)地向讀者講解有關(guān)VBA的一些基礎(chǔ)知識,使讀者對VBA有個(gè)比較深刻的理解,為以后學(xué)習(xí)VBA的各種知識打下良好的基礎(chǔ)。3.1.1VBA的概念VBA是VisualBasicForApplication的縮寫,在Office系列辦公軟件當(dāng)中,VBA又分為ExcelVBA語言、WordVBA語言以及PowerPointVBA語言等。VBA是用VisualBasic(簡稱VB)來開發(fā)應(yīng)用程序的一種語言,而ExcelVBA則偏重于面向Excel對象(如工作簿、工作表以及單元格等)進(jìn)行編程,也就是說ExcelVBA是通過用代碼編寫的命令和使用過程來操作工作表或單元格等對象,進(jìn)而在Excel中完成自動化操作的相關(guān)設(shè)置??梢詫xcelVBA看作是VB的一個(gè)分支,VBA繼承了VB很大一部分編程方法。VB中的語法結(jié)構(gòu)、變量的聲明以及函數(shù)的使用等內(nèi)容,在VBA中同樣可以正常地進(jìn)行使用。在20世紀(jì)90年代早期,關(guān)于應(yīng)用程序自動化的問題仍是充滿挑戰(zhàn)性的領(lǐng)域。當(dāng)時(shí),對不同應(yīng)用程序的自動化,人們都不得不學(xué)習(xí)不同的自動化語言。例如,自動化Excel需要調(diào)用Excel的宏語言,而自動Word又必須使用WordBasic等。于是,微軟決定開發(fā)出來的應(yīng)用程序共享一種通用的自動化語言—VBA。這樣,對于微軟所有的應(yīng)用程序,都可以使用VBA來操作其自動化。VBA采用面向?qū)ο蠹夹g(shù)與各套件集成在一起,能很方便地控制其宿主,從而增強(qiáng)宿主的功能,實(shí)現(xiàn)用戶定制化的便捷技術(shù)。它將人們所熟悉的各種操作習(xí)慣,通過編程控制這些具有強(qiáng)大功能的軟件,從而發(fā)揮更強(qiáng)大的功能。VBA可以直接應(yīng)用Office套裝軟件的各項(xiàng)強(qiáng)大功能,能夠更加方便程序設(shè)計(jì)人員開發(fā)方便、實(shí)用的應(yīng)用程序。用來編寫ExcelVBA代碼的工具稱為VisualBasicEditor(簡稱VBE),VBE的窗口結(jié)構(gòu)和VB編輯器極為相似。但不同的是,VBE必須依附于其所支持的應(yīng)用程序才能夠被打開。通過VBE編寫的VBA代碼,被保存在為VBA代碼所服務(wù)的Excel文件當(dāng)中。3.1.2VBA的歷史早在1985年,Excel就被用在蘋果的Macintosh電腦上,在1987年被移植到PC機(jī)當(dāng)中。在PC機(jī)時(shí)代之前,曾經(jīng)有過很多成功的工作表軟件,如VisiCalc、QuattroPro和Multiplan等。VisiCalc是最早的工作表軟件產(chǎn)品,但是很早就被淘汰了。Multiplan是微軟的產(chǎn)品,也是Excel的前身,由于其功能強(qiáng)大并且使用方便,很快就占領(lǐng)了整個(gè)市場。最初的Excel宏語言要求代碼保存在一個(gè)后綴為.xlm的單獨(dú)文件中。因此后來也被稱為XLM宏或者Excel4宏。XLM宏語言包括函數(shù)調(diào)用以及上百個(gè)內(nèi)建函數(shù),使用戶可以通過編程控制Excel的各種操作。但是XLM宏語言在使用上相當(dāng)?shù)膹?fù)雜,也正因?yàn)槿绱宋艘恍┚邆浜軓?qiáng)編程能力的人創(chuàng)建復(fù)雜的程序,但是遠(yuǎn)離了廣大的一般用戶。學(xué)習(xí)XLM宏語言是一個(gè)很長的過程。另一方面,最初的PC版Excel運(yùn)行于Windows平臺,而對于當(dāng)時(shí)的硬件水平來說,能夠運(yùn)行Window系統(tǒng)的PC機(jī)一般都比較的昂貴,普通家庭用戶無法負(fù)擔(dān),這也是阻礙VBA發(fā)展的一大原因。基于上述各種原因,微軟大膽地決定要使用VBA整合所有Office產(chǎn)品的宏語言。1993年發(fā)布的Excel5是第1個(gè)包含VBA語言的產(chǎn)品。隨后,其他的Office系列產(chǎn)品,包括Word、Access、PowerPoint、FrontPage、Visio、Project和Outlook全部都采用了VBA作為宏語言。VBA是面向?qū)ο蟮恼Z言,在結(jié)構(gòu)和處理對象方面與VB是等同的。不同的Office產(chǎn)品在VBA中對應(yīng)不同的對象模型(ObjectModel)。用戶必須熟悉對象模型才能使用宏為一種產(chǎn)品編程。對象模型是一個(gè)產(chǎn)品中左右對象的體系結(jié)構(gòu)。如Excel產(chǎn)品對應(yīng)的就是Excel對象模型,其中包括工作簿(Workbook)、工作表(WorkSheet)和單元格(Cell)等。在Excel97中,微軟對VBA的界面做了重大的修改,同時(shí)修改了部分Excel對象模型。從Excel97開始模塊不再屬于工作簿對象,同時(shí)在Excel程序窗口中不可顯示。模塊只能在VBA的開發(fā)環(huán)境中才能顯示和修改。除了標(biāo)準(zhǔn)的模塊、對象模塊被引入之外,用戶還可以創(chuàng)建自己的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年小型店面租賃協(xié)議
- 2024年度安置房買賣合同協(xié)議書填寫指南
- 2024燈具產(chǎn)品購銷合同范本
- 2024《快速投資建設(shè)合同》
- 2024電氣安裝勞務(wù)合同
- 2024裝修施工監(jiān)理合同范本
- 2024年度云計(jì)算服務(wù)采購與租賃合同
- 2024年土方與泥漿運(yùn)輸協(xié)議
- 2024企業(yè)項(xiàng)目合作開發(fā)合同詳細(xì)內(nèi)容
- 2024北京市房屋租賃合同經(jīng)紀(jì)機(jī)構(gòu)居間成交版范本
- 小眼睛大手術(shù)-眼科顯微手術(shù)技能知到章節(jié)答案智慧樹2023年溫州醫(yī)科大學(xué)
- 2023石景山區(qū)高三一模數(shù)學(xué)試卷
- 國網(wǎng)基建各專業(yè)考試題庫大全-質(zhì)量專業(yè)-下(判斷題匯總)
- 社會生態(tài)系統(tǒng)下困境兒童多重困境分析共3篇
- 【信息技術(shù) 】計(jì)算機(jī)系統(tǒng)互聯(lián) 第1課時(shí)課件 教科版(2019)高中信息技術(shù)必修2
- 議論文閱讀訓(xùn)練10篇(附答案及解析)
- 山西省普通高級中學(xué)辦學(xué)基本標(biāo)準(zhǔn)
- 血液透析個(gè)案護(hù)理兩篇
- 工會會議記錄范文
- 工業(yè)品銷售面試技巧和常見面試問題
- YY 0636.1-2008醫(yī)用吸引設(shè)備第1部分:電動吸引設(shè)備安全要求
評論
0/150
提交評論