ExcelVBA編程150實例大全要點

上傳人:燈火****19 文檔編號:21698086 上傳時間:2021-05-07 格式:DOCX 頁數:129 大?。?56.74KB
收藏 版權申訴 舉報 下載
ExcelVBA編程150實例大全要點_第1頁
第1頁 / 共129頁
ExcelVBA編程150實例大全要點_第2頁
第2頁 / 共129頁
ExcelVBA編程150實例大全要點_第3頁
第3頁 / 共129頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《ExcelVBA編程150實例大全要點》由會員分享,可在線閱讀,更多相關《ExcelVBA編程150實例大全要點(129頁珍藏版)》請在裝配圖網上搜索。

1、 Excel VBA 編程實例 150 例 VBE 編輯器及 VBA 代碼輸入和調試的基本知識 在學習這些實例的過程中, 最好自已動手將它們輸入到 VBE 編輯器中調試運行, 來查看它們的結果。當然,您可以偷賴,將它們復制 /粘貼到代碼編輯窗口后, 進行調試運行。 下面,對 VBE 編輯器界面進行介紹, 并對 VBA 代碼輸入和調試 的基本知識進行簡單的講解。 激活 VBE 編輯器 一般可以使用以下三種方式來打開 VBE 編輯器: ■ 使用工作表菜單 “工具 —— 宏—— Visual Basic 編輯器

2、”命令,如圖 00-01 所示; ■ 在 Visual Basic 工具欄上,按 “ VisualBasic 編輯器 ”按鈕,如圖 00-02 所示; ■ 按 Alt+F11 組合鍵。 圖 00-01 :選擇菜單 “工具 —— 宏—— Visual Basic 編輯器 ”命令來打開 VBE 編輯 器 圖 00-02 :

3、選擇 Visual Basic 工具欄上的 “Visual Basic 編輯器 ”命令按鈕來打開 1 VBE 編輯器 此外,您也可以使用下面三種方式打開 VBE 編輯器: ■ 在任一工作表標簽上單擊鼠標右鍵, 在彈出的菜單中選擇 “查看代碼 ”,則可進入 VBE 編輯器訪問該工作表的代碼模塊,如圖 00-03 所示; ■ 在工作簿窗口左上角的 Excel 圖標上單擊鼠標右鍵,在彈出的菜單中選擇“查看代碼 ”,則可進入 VBE 編輯器訪問活動工作簿的 ThisWorkbook 代碼模塊,如圖 00-04 所示; ■ 選擇菜單

4、“工具 —— 宏 —— 宏 ”命令打開宏對話框,若該工作簿中有宏程序, 則單擊該對話框中的 “編輯 ”按鈕即可進行 VBE 編輯器代碼模塊,如圖 00-05 所 示。 圖 00-03 :右擊工作表標簽彈出菜單并選擇 “查看代碼 ”打開 VBE 編輯器 圖 00-04 :右擊 Excel 圖標彈出菜單并選擇 “查看代碼 ”打開 VBE 編輯器

5、 2 圖 00-05 :在宏對話框中單擊 “編輯 ”按鈕打開 VBE 編輯器 VBE 編輯器窗口簡介 剛打開 VBE 編輯器時,所顯示的窗口如圖 00-06 所示,其中沒有代碼模塊窗口。

6、 3 圖 00-06 :剛打開 VBE 編輯器時的窗口 可以在 “工程資源管理器 ”中雙

7、擊任一對象打開代碼窗口, 或者選擇菜單 “插入 —— 模塊 ”或 “插入 —— 類模塊 ”來打開代碼窗口。一般 VBE 編輯器窗口及各組成部件名稱如圖 00-07 所示,可以通過 “視圖 ”菜單中的菜單項選擇所出現的窗口。 同時,可以在 “工程屬性 ”窗口中設置或修改相應對象的屬性。 4

8、 圖 00-07 : VBE 編輯器窗口 下面是帶有用戶窗體的 VBE 編輯器窗口,如圖 00-08 所示。選擇 VBE 菜單 “插入 —— 用戶窗體 ”,即可插入一個用戶窗體。當插入用戶窗體后,在 “工程資源管 5 理器 ”窗口中會出現一個用戶窗體對象, “工程屬性 ”窗口顯示當前用戶窗體的屬性,可對相關屬性進行設置或修改。 同時,在用戶窗體上用鼠標

9、單擊, 會出現 “控件工具箱 ”。在“工程資源管理器 ”窗口雙擊用戶窗體圖標, 會出現相應的用戶窗體;在用戶窗體圖標或者是在用戶窗體上單擊鼠標右鍵,然后在彈出的菜單中選擇“查看代碼 ”,則會出現用戶窗體代碼窗口。 圖 00-08

10、: VBE 編輯器窗口 (帶有用戶窗體 ) 在 VBE 編輯器中輸入 VBA 代碼 6 如前所述,您可以選擇 VBE 菜單 “插入 —— 用戶窗體 /模塊 /類模塊 ”來插入模塊或用戶窗體以及相應的代碼窗口。此外,您也可以在 “工程資源管理器 ”中單擊鼠標右鍵,從彈出的菜單中選擇 “插入 —— 用戶窗體 /模塊 /類模塊 ”來實現上面的操作。在獲取相應的代碼模塊窗口后,就可以輸入 VBA 代碼了。 在 VBE 編輯器的代碼模塊中輸入 VBA 代碼,通常有以下幾種方法: ■ 手工鍵盤輸入; ■ 使用宏錄制器,即選擇菜單 “工具 —— 宏—— 錄

11、制新宏 ”命令,將所進行的操作自動錄制成宏代碼; ■ 復制 /粘貼代碼,即將現有的代碼復制后,粘貼到相應的代碼模塊中; ■ 導入代碼模塊,即在 VBE 編輯器中選擇菜單 “文件 —— 導入文件 ”或在 “工程資源管理器 ”的任一對象上右擊鼠標選擇菜單 “導入文件 ”,選擇相應的代碼文件導入。 如果不想要某個模塊了,可以選擇菜單 “文件 —— 移除模塊 ”,也可以在相應的模塊上單擊鼠標右鍵, 從彈出的菜單中選擇 “移除模塊 ”。此時,會彈出一個警告框,詢問在移除模塊前是否將其導出,可以根據需要進行選擇。 也可以選擇菜單 “文件 —— 導出文件 ”或在相應的模塊上單擊鼠標右

12、鍵后,從彈出的菜單中選擇 “導出文件 ”,將移除的模塊保存在相應的文件夾中。這樣,以后可以對其進行導入,從而加以利用。 調試 VBA 代碼 在 VBE 編輯器的菜單中,有兩項與調試運行有關的菜單項,即 “調試 ”菜單和 “運行 ”菜單,它們提供了各種調試和運行的手段。在我現階段進行代碼調試時,常 用到的有以下幾個: ■ 逐語句。可以按 F8 鍵對代碼按順序一條一條語句運行,從而找出語句或邏輯錯誤。 ■ 設置斷點。在可能存在問題的語句處設置斷點 (可通過在相應代碼前的空白部位單擊,將會出現一個深紅色的橢圓即斷點 ),當程序運行至斷點處時,會中止運行。 ■ 在語

13、句的適當部位設置 Debug.Print 語句,運行后其結果會顯示在 “立即窗口 ” 中,可以此測試或跟蹤變量的值。 ■ 在“立即窗口 ”中測試。對值的測試或跟蹤,也可以以 “?”開頭,在 “立即窗口 ” 中輸入需要測試值的語句, 按 Enter 回車鍵后將立即出現結果; 對執(zhí)行語句的測試,可直接在 “立即窗口 ”中輸入,按 Enter 回車鍵后將執(zhí)行。 ■ 可以按 F5 鍵直接運行光標所在位置的子程序。 在執(zhí)行程序后,必須在 Excel 工作表中查看所得到的結果??梢杂檬髽藛螕?VB E 編輯器左上角的 Excel 圖標或者是按 Alt+F11 組合鍵切換到 Ex

14、cel 界面。 (當然,對程序代碼的調試有很多方法和技巧,留待以后對 VBA 進一步研究和理 解更透徹后一并討論。 ) 利用 VBA 幫助系統(tǒng) 如果遇到疑問或錯誤,可以利用 Excel 自帶的 VBA 幫助系統(tǒng)。 ■ 可以在如圖 00-09 所示的部位輸入需要幫助的關鍵詞, 按 Enter 回車鍵后將會出現相關主題。用鼠標單擊相應的主題即會出現詳細的幫助信息。 圖 00-09 :幫助搜索窗口 ■ 可以按 F2 鍵,調出 “對象瀏覽器 ”窗口 (如圖 00-10 所示 ),在搜索文本框中輸 7 入需要幫助的關鍵詞

15、,將會在 “搜索結果 ”中出現一系列相關的對象及方法、屬性列表,單擊相應的對象則會在 “類”和 “成員 ”列表框中顯示相應的對象和方法、屬性成員列表,在成員列表中相應的項目上按 F1 鍵即會出現詳細的幫助信息。 ( “對象瀏覽器 ”是一個很好的幫助工具,值得好好研究 )

16、 圖 00-10 :對象瀏覽器窗口 參考資料 《 ExcelVBA 編程入門范例》參考或引用了以下書籍和資料: 8 (1)Excel 2003 高級 VBA 編程寶典 (2)Excel 2003 與 VBA 編程從入門到精通 (中文版 ) (3)巧學巧用 Excel 2003 VBA 與宏 (中文版 ) (4)ExcelVBA 應用程序專業(yè)設計實用指南 (5)ExcelVBA 應用開發(fā)與實例精講 (6)一些網上資源 更多的信息 關于 ExcelVBA

17、 的更多參考和學習資源,可以在 上查找,有疑問也可以在 ExcelHome 論壇中提問。您也可以登錄我的博客 http://fanjy.bl ,上面有很多 Excel 的學習資料。同時,歡迎與我聯系交流,我的 e-mail 是: xhdsxfjy@ 。 “學習 Excel ,使用 VBA 對 Excel 進行控制操作是我很熱衷的業(yè)余愛好之一。 ” —— fanjy 第一章 Excel 應用程序對象 (Application 對象 )及其常用方法 基本操作應用示例 分類 :ExcelVBA>>ExcelVBA

18、編程入門范例 Application 對象代表整個 Microsoft Excel 應用程序,帶有 175 個屬性和 52 個方法,可以設置整個應用程序的環(huán)境或配置應用程序。 示 例 0 1 - 0 1 : 體 驗 開 / 關 屏 幕 更 新 ( S c r e e n U p d a t i n g 屬 性 ) S u b 關 閉 屏 幕 更 新() MsgBox "順序切換工作表 Sheet1 → Sheet2 → Sheet3 → Sheet2 ,先開啟屏幕 更 新 , 然 后 關 閉 屏 幕 更 新"

19、 W o r k s h e e t s ( 1 ) . S e l e c t M s g B o x " 目 前 屏 幕 中 顯 示 工 作 表 S h e e t 1 " A p p l i c a t i o n . S c r e e n U p d a t i n g = T r u e W o r k s h e e t s ( 2 ) . S e l e c t

20、 M s g B o x " 顯 示 S h e e t 2 了 嗎 ? " W o r k s h e e t s ( 3 ) . S e l e c t M s g B o x " 顯 示 S h e e t 3 了 嗎 ? " W o r k s h e e t s ( 2 ) . S e l e c t M s g B o x " 下

21、 面與 前面 執(zhí) 行的 程序 代碼 相同 , 但 關閉 屏 幕更 新功 能 " W o r k s h e e t s ( 1 ) . S e l e c t MsgBox "目前屏幕中顯示工作表 Sheet1" & Chr(10) & "關屏屏幕更新功能 " A p p l i c a t i o n . S c r e e n U p d a t i n g = F a l s e 9 W o r k s h e e

22、 t s ( 2 ) . S e l e c t M s g B o x " 顯 示 S h e e t 2 了 嗎 ? " W o r k s h e e t s ( 3 ) . S e l e c t M s g B o x " 顯 示 S h e e t 3 了 嗎 ? " W o r k s h e e t s (

23、 2 ) . S e l e c t A p p l i c a t i o n . S c r e e n U p d a t i n g = T r u e E n d S u b 示例說明: ScreenUpdating 屬性用來控制屏幕更新。當運行一個宏程序處理涉 及到多個工作表或單元格中的大量數據時,若沒有關閉屏幕更新,則會占用 CP U 的處理時間,從而降低程序的運行速度, 而關閉該屬性則可顯著提高程序運行 速度。

24、 示 例 0 1 - 0 2 : 使 用 狀 態(tài) 欄 ( S t a t u s B a r 屬 性 ) S u b t e s t S t a t u s B a r ( ) A p p l i c a t i o n. D i s p l a y S t a t u s B a r = T r u e 開 啟 狀 態(tài) 欄 顯 示 賦 值 狀 態(tài) 欄 顯 示 的 文 本 A p p l i c a t i

25、o n. St a t u s B a r = " h t t p : / / f a n jy. b l o g. e x c e l h o m e. n e t " E n d S u b 示例說明: StatusBar 屬性用來指定顯示在狀態(tài)欄上的信息。若不想再顯示狀態(tài) 欄文本,可使用 Application.StatusBar = False 語句關閉狀態(tài)欄顯示, 也可以在 程序開始將原先的狀態(tài)欄設置存儲,如使用語句 oldStatusBar = Application.Di splaySt

26、atusBar 將狀態(tài)欄原來的信息存儲在變量 oldStatusBar ,在程序運行完成 或退出時,將變量重新賦值給狀態(tài)欄,如使用語句 Application.DisplayStatusBa r = oldStatusBar ,以恢復狀態(tài)欄原狀。 示 例 0 1 - 0 3 : 處 理 光 標 ( C u r s o r 屬 性 ) S u b V i e w C u r s o r s ( ) A p p l i c a t i o n

27、. C u r s o r = x l N o r t h w e s t A r r o w M s g B o x " 您將 使用 箭頭 光標 , 切 換 到 E x c e l 界面 查看 光 標 形 狀 " A p p l i c a t i o n . C u r s o r = x l I B e a m M s g B o x " 您將 使用 工形 光標 , 切 換 到 E x c e l 界面 查看 光 標 形 狀 " A p p l i c a t i o n .

28、 C u r s o r = x l W a i t M s g B o x " 您 將使用等 待形 光標 , 切 換到 E x c e l 界 面查 看光 標形狀 " A p p l i c a t i o n . C u r s o r = x l D e f a u l t M s g B o x" 您 已 將 光 標 恢 復 為 缺 省 狀 態(tài) " End Sub 示 例

29、0 1 - 0 4 : 獲 取 系 統(tǒng) 信 息 S u b G e t S y s t e m I n f o ( ) MsgBox "Excel 版本信息為 :" & Application.CalculationVersion MsgBox "Excel 當前允許使用的內存為 :" & Application.MemoryFree MsgBox "Excel 當前已使用的內存為 :" & Application.MemoryUsed

30、MsgBox "Excel 可以使用的內存為 :" & Application.MemoryTotal MsgBox "本機操作系統(tǒng)的名稱和版本為 :" & Application.OperatingSystem 10 MsgBox " 本產品所登記的組織名為 M s g B o x " 當 前 用 戶 名 為 : " M s g B o x " 當前使 用的 E xc e l E n d  :" & Application.OrganizationName & A p

31、 p l i c a t i o n . U s e r N a m e 版 本為 : " & A p p li c a ti o n. Ve r s i o n S u b 示例說明:可以使用給 UserName 屬性賦值以設置用戶名稱。 示 例 0 1 - 0 5 : 退 出 復 制 / 剪 切 模 式 ( C u t C o p y M o d e 屬 性 ) S u b e x i t C u t C o p y M o d e ( ) A p p l i c

32、a t i o n . C u t C o p y M o d e = F a l s e E n d S u b 示例說明:退出復制 /剪切模式后,在程序運行時所進行的復制或剪切操作不會 在原單元格區(qū)域留下流動的虛框線。需要提醒的是,在程序運行完后,應使用 A pplication.CutCopyMode = False 語句恢復該屬性的默認設置。 示 例 0 1 - 0 6 : 禁 止 彈 出 警 告 信 息 ( D i s p l a y A l e r t s 屬 性 ) S u b t e s t A l e r t

33、 s D i s p l a y ( ) A p p l i c a t i o n . D i s p l a y A l e r t s = F a l s e E n d S u b 示例說明:在程序運行過程中, 有時由于 Excel 本身設置的原因, 會彈出對話框,從而中斷程序的運行,您可以在程序之前加上 Application.DisplayAlerts = Fals e 語句以禁止彈出這些對話框而不影響程序正常運行。需要注意的是,在程序運行結束前,應使 DisplayAlerts 屬性恢復為缺省狀態(tài),即使用語句 Application.Di

34、 splayAlerts = True。該屬性的默認設置為 True,當將該屬性設置為 False 時, Excel 會使直接使用對話框中默認的選擇,從而不會因為彈出對話框而影響程序運行。 示 例 0 1 - 0 7 : 將E x c e l 全 屏 幕 顯 示 S u b t e s t F u l l S c r e e n ( ) M s g B o x " 運 行 后 將 E x c e l 的 顯 示 模 式 設 置 為 全 屏 幕 " A p p l

35、 i c a t i o n . D i s p l a y F u l l S c r e e n = T r u e M s g B o x " 恢 復 為 原 來 的 狀 態(tài) " A p p l i c a t i o n . D i s p l a y F u l l S c r e e n = F a l s e E n d S u b 示 例 0 1 - 0 8 : E x c e l 啟 動 的 文 件 夾 路 徑 S u b E

36、 x c e l S t a r t f o l d e r ( ) MsgBox "Excel 啟動的文件夾路徑為: " & Chr(10) & Application.StartupPat h End Sub 示 例 0 1 - 0 9 : 打 開 最 近 使 用 過 的 文 檔 S u b O p e n R e c e n t F i l

37、 e s ( ) M s g B o x " 顯 示 最 近 使 用 過 的 第 三 個 文 件 名 , 并 打 開 該 文 件 " MsgBox "最近使用的第三個文件的名稱為 :" & Application.RecentFiles(3).N a m e 11 A p p l i c a t i o n . R e c e n t F i l e s ( 3 ) . O p e n End Sub 示 例 0

38、 1 - 1 0 : 打 開 文 件 ( F i n d F i l e 方 法 ) S u b F i n d F i l e O p e n ( ) O n E r r o r R e s u m e N e x t MsgBo x " 請打開文件 ", vbOKOn ly + vbInf ormation, " 打開文件 " I f N o t A p p l i c a t i

39、 o n . F i n d F i l e T h e n MsgBox "文件未找到 ", vbOKOnly + vbInformation, " 打開失敗 " E n d I f E n d S u b 示例說明:本示例將顯示 “打開 ”文件對話框,若用戶未打開文件 (即點擊 “取消 ”按 鈕 ),則會顯示 “打開失敗 ”信息框。示例中使用了 FindFile 方法,用來顯示 “打開 ” 對話框并讓用戶打開一個文件。如果成功打開一個新文件,則該值為 True 。如果用戶

40、取消了操作并退出該對話框,則該值為 False 。 示 例 0 1 - 1 1 : 文 件 對 話 框 操 作 ( F i l e D i a l o g 屬 性 ) S u b U s e F i l e D i a l o g O p e n ( ) D i m l n g C o u n t A s L o n g 開 啟 " 打 開 文 件 " 對 話 框 W i t h A p p l i c a t i o n . F i l e D i a l o g ( m s o F i l e D i a l o g O p e n ) .

41、 A l l o w M u l t i S e l e c t = T r u e . S h o w 顯 示 所 選 的 每 個 文 件 的 路 徑 F o r l n g C o u n t = 1 T o . S e l e c t e d I t e m s . C o u n t M s g B o x . S e l e c t e d I t e m s ( l n g C o u n t ) Ne xt ln

42、 gC o u nt E n d W i t h E n d S u b 示例說明:本示例顯示 “打開文件 ”對話框,當用戶在其中選擇一個或多個文件后,將依次顯示每個文件的路徑。其中, FileDialog 屬性返回打開和保存對話框中一系列對象的集合, 您可以對該集合對象的屬性進行進一步的設置, 如上例中的 A llowMultiSelect 屬性設置為 True 將允許用戶選擇多個文件。 示 例 0 1 - 1 2 : 保 存 E x c e l 的 工 作 環(huán) 境 S u

43、b 保 存E x c e l 的 工 作 環(huán) 境 ( ) M s g B o x " 將 E x c e l 的 工 作 環(huán) 境 保 存 到 D : E x c e l S a m p l e 中 " A p p l i c a t i o n. S a v e W o r k s p a c e " D : E x c e l S a m p l e S a m p l e " E n d S u b 示例說明:運行本程序后,將工作簿以帶后綴名 .xlw 保存到 D 盤的 ExcelSam

44、pl e 文件夾中,生成的文件全名為 Sample.xlw 。當改變工作簿并保存時, Excel 會詢問是覆蓋原文件還是保存副本。 示 例 0 1 - 1 3 : 改 變 E x c e l 工 作 簿 名 字 ( C a p t i o n 屬 性 ) 12 S u b S e t C a p t i o n ( ) A p p l i c a t i o n . C a p t i o n = " M y E x c e l B o o k " E n d

45、 S u b 示例說明:運行本程序后,將工作簿左上角 Excel 圖標右側的 “Microsoft Excel ” 改為 “MyExcelBook”。 示 例 0 1 - 1 4 : 使 用 I n p u t B o x 方 法 S u b S a m p l e I n p u t B o x ( ) D i m v I n p

46、u t vInput = InputBox(" 請輸入用戶名 :", "獲取用戶名 ", Application.UserName) MsgBox " 您好 !" & vInput & ". 很高興能認識您 .", vbOKOnly, "打招呼 " End Sub 示 例 0 1 - 1 5 : 設 置 頁 邊 距 ( C e n t i m e t e r s T o P o i n t s 方 法 ) S u b S e t L e f t M a r g

47、i n ( ) M s g B o x " 將 工 作 表 S h e e t 1 的 左 頁 邊 距 設 為 5 厘 米 " Worksheets("Sheet1").PageSetup.LeftMargin = Application.CentimetersTo P o i n t s ( 5 ) End Sub 示例 01-16 :使用 Windows 的計算器 (ActivateMicrosoftApp 方法 ) S u

48、 b C a l l C a l c u l a t e ( ) A p p l i c a t i o n . A c t i v a t e M i c r o s o f t A p p I n d e x : = 0 E n d S u b 示例說明:運行本程序后,將調用 Windows 的計算器。 示 例 0 1 - 1 7 : 在 程 序 中 運 行 另 一 個 宏 ( R u n 方 法 ) S u b r u n O

49、 t h e r M a c r o ( ) MsgBox " 本程序先選擇 A1 至 C6 單元格區(qū)域后執(zhí)行 DrawLine 宏 " A c t i v e S h e e t . R a n g e ( " A 2 : C 6 " ) . S e l e c t A p p l i c a t i o n . R u n " D r a w L i n e " End Sub 示 例 0

50、 1 - 1 8 : 在 指 定 的 時 間 執(zhí) 行 宏 ( O n T i m e 方 法 ) S u b A f t e r T i m e t o R u n ( ) M s g B o x " 從現 在開 始 , 1 0 秒 后 執(zhí) 行 程 序「 t e s t F u l l S c r e e n 」 " Application.OnTime Now + TimeValue("00:00:10"), "testFullScreen" E n d S

51、 u b 示例說明:運行本程序后,在 10 秒后將執(zhí)行程序 testFullScreen 。 示 例 0 1 - 1 9 : 暫 時 停 止 宏 運 行 ( W a i t 方 法 ) S u b S t o p 5 s M a c r o R u n ( ) D i m S e t T i m e A s D a t e M s g B o x " 按下 「確 定」

52、 , 5 秒 后執(zhí) 行程 序「 t e s t F u l l S c r e e n 」 " 13 S e t T i m e = D a t e A d d ( " s " , 5 , N o w ( ) ) A p p l i c a t i o n . W a i t S e t T i m e C a l l t e s t F u l l S c r e e n E n d S

53、 u b 示例說明:運行本程序后,按下彈出的提示框中的 “確定 ”按鈕,等待 5 秒后執(zhí)行 另一程序 testFullScreen 。 示 例 0 1 - 2 0 : 按 下 指 定 的 按 鍵 后 執(zhí) 行 程 序 ( O n K e y 方 法 ) [ 示 例 0 1 - 2 0 - 1 ] S u b P r e s s K e y t o R u n ( ) M s g B o x " 按 下 C t r l + D

54、后 將 執(zhí) 行 程 序 「 t e s t F u l l S c r e e n 」 " A p p l i c a t i o n . O n K e y " ^ { d } " , " t e s t F u l l S c r e e n " E n d S u b [ 示 例 0 1 - 2 0 - 2 ] S u b R e s e t K e y () M s g B o x " 恢 復 原 來 的 按 鍵 狀

55、 態(tài) " A p p l i c a t i o n . O n K e y " ^ { d } " E n d S u b 示例說明: Onkey 方法的作用主要是指定特定的鍵,當按下指定的鍵時運行相應的宏程序,或者按下指定的鍵時,使 Excel 屏蔽特定的功能。 示 例 0 1 - 2 1 : 重 新 計 算 工 作 簿 [ 示 例 0 1 - 2 1 - 1 ] S u b C a l c u

56、 l a t e A l l W o r k b o o k ( ) A p p l i c a t i o n . C a l c u l a t e E n d S u b 示例說明:當工作簿的計算模式被設置為手動模式后,運用 Calculate 方法可以 重新計算所有打開的工作簿、 工作簿中特定的工作表或者工作表中指定的單元格 區(qū) 域 。 [ 示 例 0 1 - 2 1

57、- 2 ] S u b C a l c u l a t e F u l l S a m p l e ( ) If Application.CalculationVersion <> Workbooks(1).CalculationVersion The n A p p l i c a t i o n . C a l c u l a t e F u l l E n d I f E n d

58、 S u b 示例說明:本示例先將當前 Microsoft Excel 的版本與上次計算該工作簿的 Exc el 版本進行比較, 如果兩個版本不同, 則對所有打開工作簿中的數據進行一次完整計算。其中, CalculationVersion 屬性返回工作簿的版本信息。 示 例 0 1 - 2 2 : 控 制 函 數 重 新 計 算 ( V o l a t i l e 方 法 ) F u n c t i o n N o n S t a t i c R a n d ( ) 當 工 作 表 中 任 意 單 元 格 重 新 計 算

59、時 本 函 數 更 新 A p p l i c a t i o n . V o l a t i l e T r u e 14 N o n S t a t i c R a n d = R n d ( ) E n d F u n c t i o n 示例說明:本示例摸仿 Excel 中的 Rand() 函數,當工作表單元格發(fā)生變化時,都會重新計算該函數。 在例子中,使用了 Volatile 方法,強制函數進行重新計算,即無論何時重新計算工作表,該函數都會重新計算。 示 例 0 1 - 2 3 : 利 用 工 作 表 函 數

60、( W o r k s h e e t F u n c t i o n 屬 性 ) S u b W o r k s h e e t F u n c t i o n S a m p l e ( ) D i m m y R a n g e A s R a n g e , a n s w e r S e t m y R a n g e = W o r k s h e e t s ( " S h e e t 1 " ). R a n g e ( " A 1 : C 1 0 " ) a n s w e r = A p p l i c a t i o

61、 n. W o rk s h e e t F u n c t i o n. M in ( m y R a n g e ) M s g B o x a n s w e r E n d S u b 示例說明:本示例獲取工作表 Sheet1 中單元格區(qū)域 A1:C10 中的最小值,使用 了工作表函數 Min() 。一般,使用 WorksheetFunction 屬性引用工作表函數,但 如果 VBA 自帶有實現相同功能的函數,則直接使用該函數,否則會出現錯誤。 示 例 0 1 - 2 4 : 獲

62、取 重 疊 區(qū) 域 ( I n t e r s e c t 方 法 ) S u b I n t e r s e c t R a n g e ( ) D i m r S e c t A s R a n g e W o r k s h e e t s ( " S h e e t 1 " ) . A c t i v a t e Set rSect = Application.Inte

63、rsect(Range("rg1"), Range("rg2")) I f r S e c t I s N o t h i n g T h e n M s g B o x " 沒 有 交 叉 區(qū) 域 " E l s e r S e c t.S e l e c t E n d I f E n d S u b 示例說明:本示例在工作表 Sheet1 中

64、選定兩個命名區(qū)域 rg1 和 rg2 的重疊區(qū)域,如果所選區(qū)域不重疊, 則顯示一條相應的信息。 其中, Intersect 方法返回一個 R ange 對象,代表兩個或多個范圍重疊的矩形區(qū)域。 示 例 0 1 - 2 5 : 獲 取 路 徑 分 隔 符 ( P a t h S e p a r a t o r 屬 性 ) S u b G e t P a t h S e p a r a t o r ( ) M s g B o x " 路 徑 分 隔 符 為 " & A p p l i c a

65、 t i o n . P a t h S e p a r a t o r E n d S u b 示例說明:本示例使用 PathSeparator 屬性返回路徑分隔符 ( “”)。 示 例 0 1 - 2 6 : 快 速 移 至 指 定 位 置 ( G o t o 方 法 ) S ub G otoSa m pl e ( ) Application.Goto Reference:=Worksheets("Sheet1").Range("A154"), _ s c

66、roll := T r u e E n d S u b 示例說明:本示例運行后,將當前單元格移至工作表 Sheet1 中的單元格 A154 。 15 示 例 0 1 - 2 7 : 顯 示 內 置 對 話 框 ( D i a l o g s 屬 性 ) S u b D i a l o g S a m p l e ( ) A p p l i c a t i o n . D i a l o g s ( x l D i a l o g O p e n ) . S h o w E n d S u b 示例說明:本示例顯示 Excel 的“打開 ”文件對話框。其中, Dialogs 屬性返回的 集合代表所有的 Excel 內置對話框。

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!