《完美Excel》微信公眾帳號:excelperfect
下面,繼續做一些有趣的事情。讓VBA能夠給我們彈出對話框,讓用戶作出響應,實現與用戶交互。這裡要使用VBA的內置函數:MsgBox函數和InputBox函數。
與Excel工作表函數一樣,VBA也包含有各種內置函數,以簡化計算和操作,而MsgBox函數和InputBox函數就是其中常用的函數。這裡,先介紹MsgBox函數。
顯示信息
MsgBox函數可以為我們提供輸出信息,將VBA代碼的運行結果告訴我們。看下面簡單的示例,代碼運行後會彈出一個對話框,如圖右側所示。
此時,Excel告訴我們相關信息,並會等待我們作出響應,單擊「確定」,對話框消失。當然,這只是MsgBox函數最基本的用法。我們可以讓它顯示更豐富的信息,例如,顯示更有意義的標題、更多的選擇按鈕、圖標,甚至獲取用戶響應後的值。
將上面的程序代碼修改如下:
Sub MsgBoxTest()
Dim i As Long
i = 5
MsgBox Prompt:="變量i的值是"& i, Buttons:=vbOKCancel + vbCritical, Title:="顯示變量的值"
End Sub
運行後的結果如下圖:
圖中附加說明了MsgBox函數中各參數在對話框中對應的顯示。
MsgBox函數的語法
MsgBox函數的語法如下:
MsgBox ( prompt [ , buttons ] [ , title ] [, helpfile , context ] )
其中,方括號內的參數為可選參數。參數說明如下圖所示:
還有兩個參數helpfile和context,我們暫且不要管它。
下表列出了參數buttons的值及說明:
常量
值
說明
vbOKOnly
0
只顯示「確定」按鈕
vbOKCancel
1
顯示「確定」和「取消」按鈕
vbAbortRetryIgnore
2
顯示「終止」、「重試」和「忽略」按鈕
vbYesNoCancel
3
顯示「是」、「否」和「取消」按鈕
vbYesNo
4
顯示「是」和「否按鈕
vbRetryCancel
5
顯示」重試「和」取消「按鈕
vbCritical
16
顯示」關鍵信息「圖標
vbQuestion
32
顯示」警告詢問「圖標
vbExclamation
48
顯示」警告消息「圖標
vbInformation
64
顯示」通知消息「圖標
vbDefaultButton1
0
第一個按鈕為默認按鈕
vbDefaultButton2
256
第二個按鈕為默認按鈕
vbDefaultButton3
512
第三個按鈕為默認按鈕
vbDefaultButton4
768
第四個按鈕為默認按鈕
vbSystemModel
4096
所有應用程式都暫停,直至用戶對消息框作出反應
vbMsgBoxHelpButton
16384
顯示幫助按鈕
獲取響應的值
在用戶單擊了MsgBox函數對話框中的按鈕後,我們可以獲取用戶的行為,即用戶單擊了哪個按鈕。這樣,我們可以根據用戶的選擇作出相應的處理。
我們可以將MsgBox函數的結果賦給某個變量,此時需要將參數放在括號中,例如:
Sub MsgBoxTest1()
Dim Msg As Integer
Msg = MsgBox("您要繼續運行嗎?",vbYesNo)
MsgBox Msg
End Sub
代碼運行結果如下圖所示:
接下來,我們就可以編寫代碼對用戶單擊的選擇進行相應的回應。這種情形經常使用在條件判斷語句中,在講述相關內容時,我們再給出使用示例。
下表列出了MsgBox函數的返回值:
常量
值
相應的按鈕
vbOK
1
確定
vbCancel
2
取消
vbAbort
3
終止
vbRetry
4
重試
vbIgnore
5
忽略
vbYes
6
是
vbNo
7
否
---
通過下列方式可以更快地了解完美Excel更新:
關注《完美Excel》微信公眾帳號:
方法1—點擊右上角的按鈕,選擇「查看公眾號」,點擊關注
方法2—在添加朋友中搜索excelperfect
方法3—微信掃一掃下面網址中的二維碼
http://www.excelperfect.com/wordpress/wp-content/uploads/2014/02/excelperfect.jpg
新浪微博名:完美Excel
個人博客:www.excelperfect.com
文章轉載請註明出處!