在執行程式的過程中,我們希望在某些情況下提供提示,或者警告, 又或者是讓使用者選擇是否繼續執行程式時。 在Excel VBA中,Msgbox 便提供了這樣的功能。 當然不僅是使用者,當我們在程式除錯debug的時候,也是很有用呢。
以下就讓我們來試著在VBA中,透過Msgbox函數來使用顯示訊息窗的功能吧。
目錄
{tocify} $title={目錄}
關於Msgbox函數
顯示訊息窗的語法為
Point!
MsgBox (prompt, [ buttons, ] [ title, ] [ helpfile, context ])
引數 | 說明 |
---|---|
prompt | 表示訊息窗內的內容文字 必要 |
buttons | 表示訊息窗內顯示的圖案與按鈕 |
title | 表示訊息窗的標題 |
helpfile, context | 表示顯示出其他輔助檔案的引數 |
MsgBox的函數可以有回傳值,如果只是單純顯示訊息,不需要Msgbox函數的回傳值傳給變數時,可不使用()括號。
Msgbox函數的回傳值
MsgBox函數,在按下按鈕時,可以回傳回傳值
回傳值的內容如下,如果需要回傳值,要記得加上括號()
常數 | 值 | 描述 |
---|---|---|
vbOK | 1 | 確定 |
vbCancel | 2 | Cancel |
vbAbort | 3 | 中止 |
vbRetry | 4 | 重試 |
vbIgnore | 5 | Ignore |
vbYes | 6 | 是 |
vbNo | 7 | 否 |
範例
' 宣告變數returnMessage為整數型態
Dim returnMessage As Integer
' 透過變數接回傳值
returnMessage = MsgBox("該檔案真的要刪除嗎?", vbYesNo + vbQuestion, "檔案刪除確認")
' 確認returnMessage的變數值
MsgBox returnMessage
' 如果按下按鈕的回傳值為vbYes , 則刪除檔案
If returnMessage = vbYes Then
MsgBox "進行刪除xxx , 該檔案已刪除!"
End If
執行結果如下
Msgbox函數範例
範例1.
單純顯示訊息窗,MsgBox函數不加括號()
MsgBox "處理完成"
訊息窗顯示內容為處理完成
範例2.
MsgBox Range("A1").Value + 5
若想進一步了解相關內容可參考微軟的VBA
MsgBox 函式的說明