




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Excel VBA編程實(shí)例150例VBE編輯器及VBA代碼輸入和調(diào)試的基本知識(shí)在學(xué)習(xí)這些實(shí)例的過(guò)程中,最好自已動(dòng)手將它們輸入到VBE編借器中調(diào)試運(yùn)行,來(lái)査看它們的結(jié)果。當(dāng) 然,您可以偷賴,將它們復(fù)制/粘貼到代碼編輯窗口后,進(jìn)行調(diào)試運(yùn)行。下面,對(duì)VBE編借器界而進(jìn)行介 紹,并對(duì)VBA代碼輸入和調(diào)試的基本知識(shí)進(jìn)行簡(jiǎn)單的講解。激活VBE編輯器一般可以使用以下三種方式來(lái)打開VBE編輯器:使用工作表菜單具宏一Visual Basic編借器”命令,如圖0001所示;在Visual Basic工具欄上,按Visual Basic編輯器”按鈕,如圖0002所示;按AIUF11組合鍵。宋體鍵入辛工具遼)丨數(shù)據(jù)
2、窗口 幫肋Q?)拼寫檢查si信息檢索(K). Alt+CLick 諸誤檢查(K)語(yǔ)音迖)共享工作區(qū)().共享工作簿QB).修訂0)比較和臺(tái)并工作潯址)保護(hù)d)單變量求解方秦廈)公式審孩)圖00-01:選擇菜單TE具宏Visual Basic編輯器”命令來(lái)打開VBE編輯器聯(lián)機(jī)協(xié)作)圖00-02:選擇Visual Basic I具欄上的Visual Basic編輯器”命令按鈕來(lái)打開VBE編輯器 此外,您也可以使用下而三種方式打開VBE編輯器:在任一工作表標(biāo)簽上單擊鼠標(biāo)右鍵,在彈出的菜單中選擇查看代碼,則可進(jìn)入VBE編輯器訪問(wèn)該 工作表的代碼模塊,如圖00-03所示;在工作簿窗口左上角的Excel圖
3、標(biāo)上單擊鼠標(biāo)右鍵,在彈岀的菜單中選擇查看代碼”,則可進(jìn)入VB E編輯器訪問(wèn)活動(dòng)工作簿的ThisWorkbook代碼模塊,如圖00-04所示:選擇菜單“工具一宏宏”命令打開宏對(duì)話框,若該工作薄中有宏程序,則單擊該對(duì)話框中的編 輯按鈕即可進(jìn)行VBE編輯器代碼模塊,如圖00-05所示。圖00-03:右擊工作表標(biāo)簽彈出菜單并選擇查看代碼”打開VBE編輯器題文件電)編輯0)拔保存另存為打E卩迥頁(yè)面設(shè)置 拼寫檢查新連窗口 01) 重排窗口 顯示比例.甲查看代碼辺圖00-04:右擊Excel圖標(biāo)彈出菜單并選擇“查看代碼”打開VBE編輯器圖00-05:任宏對(duì)話框中單擊編輯”按鈕打開VBE編借器VBE編輯器窗口
4、簡(jiǎn)介剛打開VBE編輯器時(shí),所顯示的窗口如圖0006所示,其中沒(méi)有代碼模塊窗口。乞 Microsoft Visual Basic - Bookl文件O赭視與)#A格式調(diào)試iG工貝外接程序 fin WS- Sheetl|Sheetl Worksheet按字踴|能類序|SheetlDi spl ayf agsBr ds FdsZJDisplavRihtToLeft False 圖00-06:剛打開VBE編輯器時(shí)的窗口可以在“工程資源管理器中雙擊任一對(duì)象打開代碼窗口,或者選擇菜單“插入模塊”或插入一類模塊 來(lái)打開代碼窗口。一般VBE編輯器窗口及各組成部件名稱如圖0007所示,可以通過(guò)“視圖”菜單中的菜
5、單 項(xiàng)選擇所出現(xiàn)的窗口。同時(shí),可以在“工程屬性”窗口中設(shè)置或修改相應(yīng)對(duì)象的屬性。標(biāo)題欄對(duì)象卜拉列丿菜單欄;*2| Microsoft Visual Basic - Boole 1 -模塊 1 (代碼)磯文件0)編輯觀圖 插入格式調(diào)試運(yùn)行 工具遼)外接程序 窗I匚具欄1S - YBAProjectOption Explicit竹丿J如如曰越VBAFroject gkl)I L S J Q日囹Micm価E花沁對(duì)勢(shì) Sheetl (Sheetl) 打前T崔已紡畫濃建:器 代碼模航麗J模塊於模塊 占“寧豐豐一:熾類.程資源管理器窗口性模塊】模V按宇母序匡分類序awn代碼模塊窗口圖00-07: VBE編
6、借器窗口下面是帶有用戶窗體的VBE編輯器窗口,如圖00-08所示。選擇VBE菜單插入用戶窗體”,即可插 入一個(gè)用戶窗體。當(dāng)插入用戶窗體后,在工程資源管理器”窗口中會(huì)出現(xiàn)一個(gè)用戶窗體對(duì)象,工程屬性” 窗口顯示當(dāng)前用戶窗體的屬性,可對(duì)相關(guān)屬性進(jìn)行設(shè)置或修改。同時(shí),在用戶窗體上用鼠標(biāo)單擊,會(huì)出現(xiàn) 控件工具箱役在“工程資源管理器窗口雙擊用戶窗體圖標(biāo),會(huì)出現(xiàn)相應(yīng)的用戶窗體:在用戶窗體圖標(biāo)或者是在用戶窗體上單擊鼠標(biāo)右鍵,然后在彈岀的菜單中選擇“查看代碼”,則會(huì)出現(xiàn)用戶窗體代碼窗口。圖00-08: VBE編借器窗口(帶有用戶窗體)在VBE編輯器中輸入VBA代碼如前所述,您可以選擇VBE菜單“插入用戶窗體/模
7、塊/類模塊”來(lái)插入模塊或用戶窗體以及相應(yīng)的代碼 窗口。此外,您也可以在“工程資源管理器中單擊鼠標(biāo)右鍵,從彈岀的菜單中選擇插入用戶窗體/模塊 /類模塊來(lái)實(shí)現(xiàn)上而的操作。在獲取相應(yīng)的代碼模塊窗口后,就可以輸入VBA代碼了。在VBE編輯器的代碼模塊中輸入VBA代碼,通常有以下幾種方法:手工鍵盤輸入:使用宏錄制器,即選擇菜單工具宏一錄制新宏”命令,將所進(jìn)行的操作自動(dòng)錄制成宏代碼;復(fù)制/粘貼代碼,即將現(xiàn)有的代碼復(fù)制后,粘貼到相應(yīng)的代碼模塊中:導(dǎo)入代碼模塊,即在VBE編輯器中選擇菜單文彳導(dǎo)入文件”或在工程資源管理器”的任一對(duì)象上右 擊鼠標(biāo)選擇菜單“導(dǎo)入文件”,選擇相應(yīng)的代碼文件導(dǎo)入。如果不想要某個(gè)模塊了,
8、可以選擇菜單文件一移除模塊”,也可以在相應(yīng)的模塊上單擊鼠標(biāo)右鍵,從彈 出的菜單中選擇“移除模塊。此時(shí),會(huì)彈出一個(gè)警告框,詢問(wèn)在移除模塊前是否將其導(dǎo)出,可以根據(jù)需要 進(jìn)行選擇。也可以選擇菜單“文件導(dǎo)出文件或在相應(yīng)的模塊上單擊鼠標(biāo)右鍵后,從彈出的菜單中選擇導(dǎo)出文件”, 將移除的模塊保存在相應(yīng)的文件夾中。這樣,以后可以對(duì)其進(jìn)行導(dǎo)入,從而加以利用。調(diào)試VBA代碼在VBE編輯器的菜單中,有兩項(xiàng)與調(diào)試運(yùn)行有關(guān)的菜單項(xiàng),即“調(diào)試”菜單和“運(yùn)行”菜單,它們提供了各種 調(diào)試和運(yùn)行的手段。在我現(xiàn)階段進(jìn)行代碼調(diào)試時(shí),常用到的有以下幾個(gè):逐語(yǔ)句??梢园碏8鍵對(duì)代碼按順序一條一條語(yǔ)句運(yùn)行,從而找岀語(yǔ)句或邏輯錯(cuò)誤。設(shè)置斷
9、點(diǎn)。在可能存在問(wèn)題的語(yǔ)句處設(shè)置斷點(diǎn)(可通過(guò)在相應(yīng)代碼前的空白部位單擊,將會(huì)出現(xiàn)一個(gè)深 紅色的橢圓即斷點(diǎn)),當(dāng)程序運(yùn)行至斷點(diǎn)處時(shí),會(huì)中止運(yùn)行。在語(yǔ)句的適當(dāng)部位設(shè)K Debug.Print語(yǔ)句,運(yùn)行后英結(jié)果會(huì)顯示在立即窗口”中,可以此測(cè)試或跟蹤變 量的值。在立即窗口沖測(cè)試。對(duì)值的測(cè)試或跟蹤,也可以以“? ”開頭,在立即窗口”中輸入需要測(cè)試值的語(yǔ)句, 按Enter回車鍵后將立即出現(xiàn)結(jié)果:對(duì)執(zhí)行語(yǔ)句的測(cè)試,可直接在立即窗口”中輸入,按Enter回車鍵后 將執(zhí)行??梢园碏5鍵直接運(yùn)行光標(biāo)所在位巻的子程序。在執(zhí)行程序后,必須在Excel工作表中查看所得到的結(jié)果。可以用鼠標(biāo)單擊VBE編輯器左上角的Excel
10、 圖標(biāo)或者是按AIUF11組合鍵切換到Excel界面。(當(dāng)然,對(duì)程序代碼的調(diào)試有很多方法和技巧,留待以后對(duì)VBA進(jìn)一步研究和理解更透徹后一并討論。) 利用VBA幫助系統(tǒng)如果遇到疑問(wèn)或錯(cuò)誤,可以利用Excel自帶的VBA幫助系統(tǒng)??梢栽谌鐖D00-09所示的部位輸入需要幫助的關(guān)鍵詞,按Enter回車鍵后將會(huì)出現(xiàn)相關(guān)主題。用鼠標(biāo)單 擊相應(yīng)的主題即會(huì)出現(xiàn)詳細(xì)的幫助信息。圖00-09:幫助搜索窗口可以按F2鍵,調(diào)出對(duì)象瀏覽器”窗口(如圖00-10所示),在搜索文本框中輸入需要幫助的關(guān)鍵詞,將會(huì) 在搜索結(jié)果”中出現(xiàn)一系列相關(guān)的對(duì)象及方法、屬性列表,單擊相應(yīng)的對(duì)象則會(huì)在“類”和“成員列表框中顯 示相應(yīng)的對(duì)象
11、和方法、屬性成員列表,在成員列表中相應(yīng)的項(xiàng)目上按F1鍵即會(huì)出現(xiàn)詳細(xì)的幫助信息。(對(duì) 象瀏覽器”是一個(gè)很好的幫助工具,值得好好研究)乞 MicKosoft Visual Basic - Bookl -對(duì)象淡I芫器答 文件的 編輯 視國(guó)辺 插入 格式 調(diào)試 運(yùn)行 工具 外接程序念)窗口迫 幫助妁 團(tuán)國(guó)魁轟靜丨町叫ai諒丨廳密裁汝砲 /搜索框S-VBAProjert|Skeel Worksheet1 (名稱)SheetlDisplayFageBreaksFalseDisplayRightl oLeftFlseEnablekutoF literFlseEnabl eC al cul at i oxiT
12、rueEnabl eO utl i ni ngFlseEnableP ivotTableFlseEnibleSelection0 - xlNoRstrieti onsNameSheetlScr olLkreaStandardWidth8.38Visible1 - xlSheetVisible按字母序I按分類序I圖00-10:對(duì)象瀏覽器窗口I術(shù)有庫(kù) range庫(kù)-眺 Excel 眺 Excel 肌 Excel 肌 Excel 眺 Excel 眺 Excel 磯 Excl T?1.T? c /%TZxcel類Q侄局Addin 曲 AddinsAdjustmeiits AliowEdi tRnge
13、iAllowEdi tRanges 也 AnzwerVi zard 遨 Anzwerffi zardTiles 迄J Application Areas 疵j Assi slant 曲 AutoCorrect 朗 AutoTilter 沏 AutoSecover 渤Ax” 也 Axis raftn i n . nClass AllovEditKangeExeL的成員立即宙口參考資料ExcelVBA編程入門例參考或引用了以下書籍和資料:(1) Excel 2003高級(jí)VBA編程寶典(2) Excel 2003與VBA編程從入門到精通(中文版)(3) 巧學(xué)巧用Excel 2003 VBA與宏(中文
14、版)ExcelVBA應(yīng)用程序?qū)I(yè)設(shè)il實(shí)用指南(5) ExcelVBA應(yīng)用開發(fā)與實(shí)例精講(6) 些網(wǎng)上資源2J搜縈按鈕ALLqwE di tRange趙J kllowE di tRange sProtectioR 血 Windows 遨 AutoCorrect 戲| PivotF ieLA 團(tuán)| PivotT able 園 Li stObjectP y c T/%AllowEdi tRange 的成員% Change P as sw or d;:矗 Delate閩 Range 圏 Title令 Uaprotect畫 Users選屮某成員項(xiàng)即出現(xiàn)相應(yīng)的韋更多的信息關(guān)于ExcelVBA的更多參考和
15、學(xué)習(xí)資源,可以在上查找,有疑問(wèn)也可以在ExcelHome論 壇中提問(wèn)。您也可以登錄我的博客,上而有很多Excel的學(xué)習(xí)資料。同時(shí),歡迎 與我聯(lián)系交流,我的是:xhdsxfjy163.o學(xué)習(xí)Excel,使用VBA對(duì)Excel進(jìn)行控制操作是我很熱衷的業(yè)余愛(ài)好之一?!眆anjy第一章 Excel應(yīng)用程序?qū)ο螅ˋpplication對(duì)象)及其常用方法_基本操作應(yīng)用示例分類:ExcelVBAExcelVBA編程入門例Application對(duì)象代表整個(gè)Microsoft Excel應(yīng)用程序,帶有175個(gè)屬性和52個(gè)方法,可以設(shè)置整個(gè)應(yīng)用 程序的環(huán)境或配置應(yīng)用程序。示例0101:體驗(yàn)開/關(guān)屏幕更新(Scre
16、enupdating屬性)Sub關(guān)閉屏幕 更 新()MsgBox ”順序切換工作表Sheetl-Sheet2-Sheet3-Sheet2,先開啟屏幕更新,然后關(guān)閉屏幕更新”MWs0rck s h)X目e前e 屏t幕s 中( 顯1 ) 示工作s表e sh1 ee ect 1tfgBAP Pi1ca t i o n .sc re (n Updati ng=Tr ueW0rk s heets(2 )Se1 ectMsgBox顯示sh eet2了嗎91W0rk s heets(3 )se1 ectMsgBox顯示sh eet3T嗎?tW0rk s heets(2 )se1 ectM sg B0 :K下
17、而與前而執(zhí)行的程序代碼相同,但關(guān)閉屏幕更新功能1w0rk s heets(1 )se1 ectMsgBoxtl目前屏幕中顯示工作表SheetlM &Chr(1 0)& 11關(guān)屏屏幕更新功能 Ap p11ca t i o n .Sc re enup d a t1n gF aI sew0rk s heets(2 )se1 ectMsgBox顯示sh eet2T嗎91W0rk s heets(3 )se1 ectMsgBox顯示sh eet3T嗎?fW0rk s heets(2 )se1 ectAP P11ca t i on.sc re (n Updati ng=Tr ueEndSub示例說(shuō)明:Sc
18、reenupdating屬性用來(lái)控制屏幕更新。當(dāng)運(yùn)行一個(gè)宏程序處理涉及到多個(gè)工作表或單元格 中的大量數(shù)據(jù)時(shí),若沒(méi)有關(guān)閉屏幕更新,則會(huì)占用CPU的處理時(shí)間,從而降低程序的運(yùn)行速度,而關(guān)閉 該屬性則可顯著提高程序運(yùn)行速度。使用狀態(tài)欄(StatusBar 屬性)subtestS tatusBar ()AppI i c a t i on. D i s playStatusBar = True 開啟狀態(tài)欄顯示賦值狀態(tài)欄顯示的文本App I cation. Status B a r = H f a niy.bIo q. e x c eIho m e . n etEndSub示例說(shuō)明:StatusBar屬性
19、用來(lái)指立顯示在狀態(tài)欄上的信息。若不想再顯示狀態(tài)欄文本,可使用Applicati on.StatusBar = False語(yǔ)句關(guān)閉狀態(tài)欄顯示,也可以在程序開始將原先的狀態(tài)欄設(shè)置存儲(chǔ),如使用語(yǔ)句ol dStatusBar = Application.DisplayStatusBar將狀態(tài)欄原來(lái)的信息存儲(chǔ)在變量oldStatusBar,在程序運(yùn)行 完成或退出時(shí),將變量重新賦值給狀態(tài)欄,如使用語(yǔ)句Application.DisplayStatusBar = oldStatusBar,以 恢復(fù)狀態(tài)欄原狀。示例01-03:處理光標(biāo)(Curso r屬性)SubViewCursors()A p p I i c
20、a t i o n C u r s or=x I N o r t hw e st A rr o wMsgBox您將使用箭頭光標(biāo),切換至ij Excel 界面査看光標(biāo)形狀”A p p Ii c a t io nCur so r=X I IB ea mMsgBox您將使用工形光標(biāo),切換至ij Excel 界面查看光標(biāo)形狀”A p p Ii c a ti o ncu rs o r=X IWa i tMsgBox您將使用等待形光標(biāo),切換到Excel界而查看光標(biāo)形狀”A p p Ii c a t i (o nCu rs c r=xI D ef au I tMsgBox”您已將光標(biāo)恢復(fù)為缺省狀態(tài)”End
21、Sub04:獲取系統(tǒng)信息t SystemIn f o()版本信息為:” & A p p I i c a t i o n. CalculationVersi on 當(dāng)前允許使用的存為:” & A p p I i c a t i o n.M e m o r y F r e e示 例 01SubGM s g B o x M E x c e IM s g B o x Excel” Excel當(dāng)前已使用的存為:& A p p I i c a t i o n.M emoryUsedApplicati on.M e m o r y To t a IM s g B o x M E x c e I可以使用的存為
22、:MsgBox ”本機(jī)操作系統(tǒng)的需稱和版本為廣 MsgBox 本產(chǎn)品所登記的組織需為廣& Applicati on.O perat in g Sy ste m Applicatio n. Orga ni zationNameMsgBox ”當(dāng)前用戶名為:”&Applicati on. U s e r N a m e& Applicati on.V e r s i o n SubMsgBox ”當(dāng)前使用的Excel版本為End 示例說(shuō)明:可以使用給UserName屬性賦值以設(shè)置用戶名稱。示例0105:退出復(fù)制/剪切模式(CutCopyMode屬性) SubexitCutCopyMode()App
23、licati on. CutCopyMode = False EndSub示例說(shuō)明:退出復(fù)制/剪切模式后,在程序運(yùn)行時(shí)所進(jìn)行的復(fù)制或剪切操作不會(huì)在原單元格區(qū)域留下流動(dòng)的 虛框線。需要提醒的是,在程序運(yùn)行完后,應(yīng)使用Application.CutCopyMode = False語(yǔ)句恢復(fù)該屬性的 默認(rèn)設(shè)置。示例 0106:禁止彈出警告信息(DisplayAlerts 屬性)SubtestAlertsDisplay()A p p I i c a t i on. DisplayAlerts = False EndSub示例說(shuō)明:在程序運(yùn)行過(guò)程中,有時(shí)由于Excel本身設(shè)巻的原因,會(huì)彈出對(duì)話框,從而中斷
24、程序的運(yùn)行, 您可以在程序之前加上Application.DisplayAlerts = False語(yǔ)句以禁止彈出這些對(duì)話框而不影響程序正常 運(yùn)行。需要注意的是,在程序運(yùn)行結(jié)朿前,應(yīng)使DisplayAlerts屬性恢復(fù)為缺省狀態(tài),即使用語(yǔ)句Applicat ion.DisplayAlerts = Trueo該屬性的默認(rèn)設(shè)It為True,當(dāng)將該屬性設(shè)置為False時(shí),Excel會(huì)使直接使用 對(duì)話框中默認(rèn)的選擇,從而不會(huì)因?yàn)閺棾鰧?duì)話框而影響程序運(yùn)行。示例0 1fl07將Ex ceI全屏幕顯示su bte stFu 11Sc r eJ n ()MsgB oX”運(yùn)行后將Ex c e1的顯示模式設(shè)為全屏
25、幕fA p pI i cat i o n DIs P1 a yF uI ISc r e en=T r ueMsgB oX1” 恢復(fù)為原 來(lái)的狀 態(tài)1A p pI i cat i o n Di sp1 a yF u 1I scr e e n=F a I seEndsub示例01-0 8 :EXc e1啟動(dòng)的文件夾路徑su bEx ceISt ;a rtf0 Ide r ()MsgBoxExcel啟動(dòng)的文件夾路徑為:M &Chr(1O)&Applicatio n.StartupPathEnd Sub示例0109:打開最近使用過(guò)的文檔su b0penReCe nt F i I e s()MsgBox
26、顯示最近使用過(guò)的第三個(gè)文件名,并打開該文件MsgBox ”最近使用的第三個(gè)文件的名稱為& Application.RecentFiles(3).NameA p p I i c a t i on. RecentFiles(3 ).OpenEnd Sub示例 0110SubFOnE打開文件(Find F iI e 方法)ndFile0pen()0rR e s um eN eXtvbln formation, ”打開文件MsgBox ”請(qǐng)打開文件JI f N o t A p p IMsgBox 文件未找到,EbOKOnly + c a t i onv b O K Only +vbln formati
27、on,,打開失敗”EndSub示例說(shuō)明:本示例將顯示甘T開”文件對(duì)話框,若用戶未打開文件(即點(diǎn)擊械消”按鈕),則會(huì)顯示“打開失敗” 信息框。示例中使用了 FindFile方法,用來(lái)顯示“打開對(duì)話框并讓用戶打開一個(gè)文件。如果成功打開一個(gè) 新文件,則該值為True.如果用戶取消了操作并退出該對(duì)話框,則該值為Falseo示例01-11:文件對(duì)話框操作(F i I e Di aI o g屬性)subU seFi I eD Ia Io g0P en()Di mIng c oun tAsL0ng,開啟”打開文件對(duì)話框W it hA p p I i ca ti on F i I e Di aI 0g ( m
28、 s o F i Ie Di a I o g0 pe rI)A I I0wMultIselect=True顯示所選的每個(gè)文件的路徑F o r IngC ou n t =1 T o Selecte d I t e ms C0 un tMsgB ox. Se I e c t e d I t e ms ( I n gC ou nt )NextIngCountEndW1thEndSub示例說(shuō)明:本示例顯示甘r開文件”對(duì)話框,當(dāng)用戶在其中選擇一個(gè)或多個(gè)文件后,將依次顯示每個(gè)文件的路徑。其中,F(xiàn)ileDialog屬性返回打開和保存對(duì)話框中一系列對(duì)象的集合,您可以對(duì)該集合對(duì)象的屬性進(jìn) 行進(jìn)一步的設(shè)置,如上例
29、中的AllowMultiSelect屬性設(shè)宜為True將允許用戶選擇多個(gè)文件。示例 0112: 保存 Excel 的工作環(huán)境 Sub保 存 Excel 的 工 作 環(huán) 境 ()M s g B o x 將 Excel的工作環(huán)境保存到 D:ExcelSample 中 A p p I i c a t i on. SaveWorkspace M D:ExcelSampleSample M EndSub示例說(shuō)明:運(yùn)行本程序后,將工作簿以帶后綴名xlw保存到D盤的ExcelSample文件夾中,生成的文件 全名為Sample.xlw,當(dāng)改變工作簿并保存時(shí),Excel會(huì)詢問(wèn)是覆蓋原文件還是保存副本。示例改變
30、 Excel工作簿名字(Caption屬性)SubSetCaPtion()A Pp I i c a t i on Caption=M M yE x c e I Bo o kEndSub示例說(shuō)明:運(yùn)行本程序后,將工作簿左上角Excel圖標(biāo)右側(cè)的Microsoft Excel”改為知y ExcelBook:示例0 1-14:使用InP ut B o x方法subS am p I e InP ut B oX ()DimvInPutvlnput = InputBox(Mit輸入用戶名:代,”獲取用戶需”,Application.UserName)Msg Box ”您好!” & vln put & ”很
31、髙興能認(rèn)識(shí)您”,vbOK Only, ”打招呼”End Sub示例 011 5 : 設(shè)置頁(yè)邊距(CentimetersToPoints方法) SubSetLeftMargin()M s g B o x 將工作表 S h e e t 1 的左頁(yè)邊距設(shè)為 5厘米”Worksheets(MSheet1 w).PageSetup.LeftMargi n = Application.Ce ntimetersToPoi nts(5) End Sub示例 01 16:使用 Windows 的計(jì)算器(A c t i v a t e M i c r o s o f t A p p 方法) SubCallCalc
32、ulate()Applicatio n. ActivateMicrosoftApp In d e x : = 0 EndSub示例說(shuō)明:運(yùn)行本程序后,將調(diào)用Windows的計(jì)算器。示例 0117: 在程序中運(yùn)行另一個(gè)宏(Run 方法)SubrunOtherMacro()MsgBox ”本程序先選擇A 1至C 6單元格區(qū)域后執(zhí)行DrawL ine宏柿ActiveSheet Range(A2:C6” ) Select Application Run M D r a w L i n e End Sub示例 0118: 在指定的時(shí)間執(zhí)行宏(OnTime 方法) SubAfterTimetoR un()
33、M s g B o x 從現(xiàn)在開始,10秒后執(zhí)行程序CtestFullScree n Appl icati on. On Time Now + TimeValue(” 00:00:10”), MtestFullScree n” EndSub示例說(shuō)明:運(yùn)行本程序后,在10秒后將執(zhí)行程序testFullScreeno示 例示SubCalcA p p I i c a nd新計(jì)算工作簿2 1W o rk b o o k ()C a Ic u I a tesub1:重1 -a t e A I示例 01-19:暫時(shí)停止宏運(yùn)行(Wait方法)su bst0 p5s M a cr o R un()DImS e
34、 tT im eA sDateM s g B 0 X“按_FI確定,5秒后執(zhí)行程序rt e s t F u 1 1 S cr e enMS e tT im e=D a te A c1 d ( M :s H,5 ,No w()A ppI ica t i on .W a itS e tT imecaI It es tF u11 S c reenEndsub示例說(shuō)明:運(yùn)行本程序后.按下彈岀的提示框中的托舫按鈕,等待5秒后執(zhí)行另一程序testFullScreen.示例 0 120 :按下指定的按鍵后執(zhí)行程序(O n K ey 方法)示例0 1-20 -1Subpre ssKe ytoRun()M s
35、g B0 X-按下C t r I + D后將執(zhí)行程序r te s t F u 1 1 S cr e enMAppli ca t i on O n KeyM A |d ”, te s t F u 1 1 Sc r ee nEndsub示例0 1-20 -2SubResetKey()Msg bo xH恢復(fù)原來(lái)的按鍵狀態(tài)1A ppI iCa t i on O n Ke yH A dEndsub示例說(shuō)明:Onkey方法的作用主要是指泄特左的鍵,當(dāng)按下指立的鍵時(shí)運(yùn)行相應(yīng)的宏程序,或者按下指左的鍵時(shí)使Excel屏蔽特左的功能匚示例說(shuō)明:當(dāng)工作簿的計(jì)算模式被設(shè)置為手動(dòng)模式后,運(yùn)用Calculate方法可以重
36、新計(jì)算所有打開的工作 簿、工作簿中特能的工作表或者工作表中指定的單元格區(qū)域。示例01-21-2Sub CalculateFullSample()If Application.CalculationVersion v Workbooks(1).CalculationVersion Then Application. CalculateFullEndSub示例說(shuō)明:本示例先將當(dāng)前Microsoft Excel的版本與上次計(jì)算該工作簿的Excel版本進(jìn)行比較,如果兩 個(gè)版本不同,則對(duì)所有打開工作簿中的數(shù)據(jù)進(jìn)行一次完整訃算。其中,Calculationversion屬性返回工作 薄的版本信息。示例0
37、1-22 : 控制函數(shù)重新計(jì)3* ( vo I a t iI e方法)FUn c ti o nN0nS ta ti c R and()1當(dāng)工作表中任意單元格重新計(jì)算時(shí)本函數(shù)更新A p p Ii c at i0n .V oI atileTrueNonS t at icRa nd=Rnd()EndFuncti0n示例說(shuō)明:本示例摸仿Excel中的Rand()函數(shù),當(dāng)工作表單元格發(fā)生變化時(shí),都會(huì)重新計(jì)算該函數(shù)。在例 子中,使用了 Volatile方法,強(qiáng)制函數(shù)進(jìn)行重新計(jì)算,即無(wú)論何時(shí)重新計(jì)算工作表,該函數(shù)都會(huì)重新計(jì)算。示例 0123: 利用工作表函數(shù)(WorksheetFunction 屬性) Su
38、b WorksheetFunctionSample()D i m m y R a n g e A s Ran g e , an s w e r S e t m y R a nge = Worksheets(” Sheetl )Ran g e ( M A 1 : C 1 0 M ) answer = A p p I i c a t i o n. WorksheetFunctio n.Min(m yRa nge) M s g B o xan s w e rEndSub示例說(shuō)明:本示例獲取工作表Sheetl中單元格區(qū)域A1:C1O中的最小值,使用了工作表函數(shù)Min()。一般, 使用Worksheet
39、Function屬性引用工作表函數(shù),但如果VBA自帶有實(shí)現(xiàn)相同功能的函數(shù),則宜接使用該 函數(shù),否則會(huì)岀現(xiàn)錯(cuò)誤。示例0 124 :獲取重疊區(qū)域(1 nt er s e c t 方法)SubInt ers ectRa n g e ()D i mr Sec tAsRangewo r k sh ee t s(Sheet 1M ).A c t i v a teSetr S e ct =Applicatio n.l ntersect(Range(rg1I M), R a n g e (H r g 2M)IfrS ec tIsN0th ingThenMsg b0X沒(méi)有交叉區(qū)域1EIsersectselect
40、EndIfEndsub示例說(shuō)明:本示例在工作表Sheetl中選左兩個(gè)命名區(qū)域rgl和rg2的重疊區(qū)域,如果所選區(qū)域不重疊, 則顯示一條相應(yīng)的信息。其中,Intersect方法返回一個(gè)Range對(duì)象,代表兩個(gè)或多個(gè)用重疊的矩形區(qū)域。示例 0125:獲取路徑分隔符(Pathseparator屬性) SubGetPathSeparator()M s g B o x 路徑分隔符為” & A p p I i c a t i on. PathSeparator EndSub示例說(shuō)明:本示例使用PathSeparator屬性返回路徑分隔符代)。示例 0126: 快速移至指定位置(Goto 方法)SubGot
41、oSamPIe()Applicati on. Goto Ref ere nee: = Worksheets(” Sheet*!”).Ra nge(”A1 54)scr0II:=TrueEndsub示例說(shuō)明:本示例運(yùn)行后,將當(dāng)前單元格移至工作表Sheetl中的單元格A154.示例0 1 .2 7 :顯示置對(duì)話框(D i alogs屬性)subDiaI0g samp Ie()A pp I i ca t i on.D i alogs(x I D ii a I o gOpen).sh owEndSub示例說(shuō)明:本示例顯示Excel的“打開”文件對(duì)話框。英中,Dialogs屬性返回的集合代表所有的Exc
42、el宜對(duì) 話框。示例012 8 : 退出 E x ce I (S e n d Ke y s方法)SubS e n d K ey sSamp Ie ()Ap p I i c a t i on.SendKeys(w %f x w )EndSub示例說(shuō)明:本示例使用SendKeys方法退出Excel.若未保存,則會(huì)彈出提示對(duì)話框并讓用戶作出相應(yīng)的選擇。SendKeys方法的作用是摸擬鍵盤輸入,如例中的f塔表示在Excel中同時(shí)按下Alt、F和X三個(gè) 鍵。示例01- 29:關(guān)閉ExceISub關(guān)閉ExceI()M s g B o xExcel將會(huì) 關(guān) 閉1AppI icationQuitEndsUb示
43、例說(shuō)明:運(yùn)行本程序后,若該工作簿未保存,則會(huì)彈出對(duì)話框詢問(wèn)是否保存。(by fanjy)第二章 窗口 (Window對(duì)象)基本操作應(yīng)用示例(一)分類:ExcelVBAExcelVBA編程入門例Window對(duì)象代表一個(gè)窗口,約有48個(gè)屬性和14個(gè)方法,能對(duì)窗口特性進(jìn)行設(shè)置和操作.Window對(duì)象 是Windows集合中的成員,對(duì)于Application對(duì)象來(lái)說(shuō),Windows集合包含該應(yīng)用程序中的所有窗口:對(duì) 于Workbook對(duì)象來(lái)說(shuō),Windows集合只包含指左工作簿中的窗口。下面介紹一些示例,以演示和說(shuō)明W indow對(duì)象及英屬性和方法的運(yùn)用。示例 0201: 激活窗 口( Activate 方法)S
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 法律行業(yè)合同法與知識(shí)產(chǎn)權(quán)試題集
- 大規(guī)模數(shù)據(jù)分析與應(yīng)用實(shí)戰(zhàn)指南
- 孵化器房屋租賃合同
- 管道襯膠施工方案
- 南通環(huán)保槽鋼施工方案
- 包柱廣告施工方案
- 平面夯實(shí)施工方案
- 帶電開挖電纜施工方案
- 旋挖咬合樁施工方案
- 部分區(qū)縣一模數(shù)學(xué)試卷
- 公司組織架構(gòu)圖模板完整版可編輯 10
- 現(xiàn)代家政導(dǎo)論-課件 6.1.2認(rèn)識(shí)家政職業(yè)道德
- Unit+6+the+admirable+Lesson+2+History+Makers+說(shuō)課高中英語(yǔ)北師大版(2019)必修第二冊(cè)+
- 中醫(yī)醫(yī)院醫(yī)療質(zhì)控手冊(cè)
- 《廉頗藺相如列傳》教案 2023-2024學(xué)年高教版(2023)中職語(yǔ)文基礎(chǔ)模塊下冊(cè)
- 為別人生小孩協(xié)議書模板
- JGJ 111-2016 建筑與市政工程地下水控制技術(shù)規(guī)范
- NB-T31065-2015風(fēng)力發(fā)電場(chǎng)調(diào)度運(yùn)行規(guī)程
- 數(shù)據(jù)標(biāo)注工程-概念、方法、工具與案例 課件 第6章 文本數(shù)據(jù)標(biāo)注
- 幼兒園小班科學(xué)課件:《新年的禮物》
- 四川省綿陽(yáng)市東辰學(xué)校2023-2024學(xué)年七年級(jí)下學(xué)期3月月考語(yǔ)文卷
評(píng)論
0/150
提交評(píng)論