1. 程式人生 > >VBA中msgbox的用法小結

VBA中msgbox的用法小結

1、作用
在訊息框中顯示資訊,並等待使用者單擊按鈕,可返回單擊的按鈕值(比如“確定”或者“取消”)。通常用作顯示變數值的一種方式。
2、語法
MsgBox(Prompt[,Buttons][,Title][,Helpfile,Context])
引數說明:
(1)Prompt,必需的引數,為字串,作為顯示在訊息框中的訊息文字。其最大長度約為1024個字元,由所用字元的寬度決定。如果prompt的內容超過一行,則可以在每一行之間用回車符(Chr(13))、換行符(Chr(10))或是回車與換行符的組合(Chr(13)&Chr(10))將各行分隔開來。
(2)Buttons,可選的引數,為數值表示式的值之和,指定顯示的按鈕的數目及形式、使用的圖示樣式、預設按鈕及訊息框的強制迴應等,可以此定製訊息框。若省略該引數,則其預設值為0。設定值見下表。

(3)Title,可選的引數,表示在訊息框的標題欄中所顯示的文字。若省略該引數,則將應用程式名放在標題欄中。
(4)Helpfile,可選的引數,為字串表示式,提供幫助檔案。若有Helpfile,則必須有Context。
(5)Context,可選的引數,為數值表示式,提供幫助主題。若有Context,則必須有Helpfile。
3、Button引數
用於MsgBox函式中Button引數的常量
常量                值               說明
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第四個按鈕是預設值
vbApplicationModal     0應用程式強制返回;應用程式一直被掛起,直到使用者對訊息框
作出響應才繼續工作
vbSystemModal        4096系統強制返回;全部應用程式都被掛起,直到使用者對訊息框作
出響應才繼續工作
vbMsgBoxHelpButton    16384將Help按鈕新增到訊息框
VbMsgBoxSetForeground 65536指定訊息框視窗作為前景視窗
vbMsgBoxRight         524288文字為右對齊
vbMsgBoxRtlReading   1048576指定文字應為在希伯來和阿拉伯語系統中的從右到左顯示
說明:
(1)第一組值(0–5)描述了訊息框中顯示的按鈕的型別與數目;第二組值(16,32,48,64)描述了圖示的樣式;第三組值(0,256,512,768)說明哪一個按鈕是預設值;而第四組值(0,4096)則決定訊息框的強制返回性。將這些數字相加以生成Buttons引數值的時候,只能由每組值取用一個數字。
(2)這些常數都是VBA指定的,可以在程式程式碼中使用這些常數名稱代替實際數值。
4、返回值
用於MsgBox函式返回值的常量
常數          值       說明
vbOK          1        確定
vbCancel      2        取消
vbAbort       3        終止
vbRetry       4        重試
vbIgnore      5        忽略
vbYes         6        是
vbNo          7        否
5、相關說明
(1) 如果同時提供了Helpfile與Context引數,可以按F1鍵來檢視與Context相應的幫助主題,Excel通常會在輸入框中自動新增一個幫助(Help)按鈕。
(2)若在訊息框中顯示“取消”按鈕,則按下ESC鍵與單擊“取消”按鈕效果相同。若訊息框中有“幫助”按鈕,則提供相關的幫助資訊。
(3)如果要輸入多個引數並省略中間的某些引數,則必須在相應位置加入逗號分界符。
6、示例
(1)使用 MsgBox 函式,在具有“是”及“否”按鈕的對話方塊中顯示一條嚴重錯誤資訊。示例中的預設按鈕為“否”,MsgBox函式的返回值視使用者按哪一個鈕而定。並假設DEMO.HLP為一幫助檔案,其中有一個幫助主題程式碼為1000。
Dim Msg,Style,Title,Help,Ctxt,Response,MyString
Msg="Do you want to continue ?"    ’定義訊息文字
Style = vbYesNo + vbCritical + vbDefaultButton2    ' 定義按鈕
Title = "MsgBox Demonstration"    ' 定義標題文字
Help = "DEMO.HLP"    ' 定義幫助檔案
Ctxt = 1000    ' 定義幫助主題
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then    ' 使用者按下“是”
    MyString = "Yes"    ' 完成某操作
Else    ' 使用者按下“否”
    MyString = "No"    ' 完成某操作
End If
(2)只顯示某訊息
MsgBox “Hello!” 
(3)將訊息框返回的結果賦值給變數
Ans=MsgBox(“Continue?”,vbYesNo)
If MsgBox(“Continue?”,vbYesNo)<>vbYes Then Exit Sub
(4)使用常量的組合,賦值組Config變數,並設定第二個按鈕為預設按鈕
Config=vbYesNo+vbQuestion+vbDefaultButton2
(5)若要在訊息中強制換行,可在文字中使用vbCrLf(或vbNewLine)常量,用&加空格與字元隔開。如
MsgBox “This is the first line.” & vbNewLine & “Second line.”
(6)可以在訊息框中使用vbTab常量插入一個製表符。下面的過程使用一個訊息框來顯示5×5單元格區域中的所有值,用vbTab常量分隔列並使用vbCrLf常量插入一個新行。注意在MsgBox函式最多隻顯示1024個字元,因此限制了可顯示的單元格數。
Option Explicit
Sub ShowRangeValue()
Dim Msg As String
Dim r As Integer, c As Integer
Msg = ""
For r = 1 To 5
For c = 1 To 5
    Msg = Msg & Cells(r, c) & vbTab
Next c
Msg = Msg & vbCrLf
Next r
MsgBox Msg
End Sub
(7)在訊息框語句中運用工作表函式以及設定顯示的數置格式,如下面語句所示:
MsgBox " selection has " & m & " cells ." & Chr(13) & " the sum is :" & Application.WorksheetFunction.Sum(Selection) & Chr(13) & "the average is :" & Format(Application.WorksheetFunction.Average(Selection), "#,##0.00"), vbInformation, "selection count & sum & average" & Chr(13)

相關推薦

VBAmsgbox用法小結

1、作用在訊息框中顯示資訊,並等待使用者單擊按鈕,可返回單擊的按鈕值(比如“確定”或者“取消”)。通常用作顯示變數值的一種方式。2、語法MsgBox(Prompt[,Buttons][,Title][,Helpfile,Context])引數說明:(1)Prompt,必需的

關於expdp query用法小結

oracle query expdp 今天看到群裏有人問到關於在使用expdp導出數據中使用query參數報錯的解決方法,自己也出於好奇心瞎折騰了一把,現記錄如下 1.第一次嘗試的時候[[email protected]/* */ ~]$ expdp scott/scott t

checkbox在vue用法小結

前言 關於checkbox多選框是再常見不過的了,幾乎很多地方都會用到,這兩天在使用vue框架時需要用到checkbox多選功能,實在著實讓我頭疼,vue和原生checkbox用法不太一樣,之前對於vue中用到過的checkbox也只是別人寫好的元件,這次在自己實現時走了很多坑,特意寫這篇文章記錄下來,給後來

C#Enum用法小結

列舉   列舉型別宣告為一組相關的符號常數定義了一個型別名稱。列舉用於“多項選擇”場合,就是程式執行時從編譯時已經設定的固定數目的“選擇”中做出決定。   列舉型別(也稱為列舉)為定義一組可以賦給變數的命名整數常量提供了一種有效的方法。例如,假設您必須定義一個變數,該變數的值表示一週中的一天

JAVAthis用法小結

我知道很多朋友都和我一樣:在JAVA程式中似乎經常見到“this”,自己也偶爾用到它,但是到底“this”該怎麼用,卻心中無數!很多人一提起它,就說“當前物件”,可到底什麼是當前物件,是什麼當前物件,他自己也不清楚。現在讓大家看一個小例子,給你分享一下JAVA中“this”的

PL/SQLJOB用法小結

一、設定初始化引數 job_queue_processes   sql> alter system set job_queue_processes=n;(n>0)   job_queue_processes最大值為1000   檢視job queue

jsdocument的用法小結(一)

() 創建 odi seo 開始 func click style onclick document常用屬性:   document.title//設置文檔標題,與HTNL中的title標簽等價   document.bgColor//設置頁面背景顏色   document

Java分割字串split()的用法小結

用"."做分隔符,必須是如下寫法 String.split("\\."),不能是String.split("."); 用"|"做分隔符,必須是如下的寫法 String.split("\\|"),不能是String.split("|"); 如果在一個字串中有多

關於MFCCString的用法小結

今天被兩個問題折騰了好久,一個是關於結構體陣列傳遞值的問題,就是不知道結構體指標傳遞形參到子函式後,如何被子函式分解並繼續使用,測試過程中老是隻能在結構體陣列的第一個元素進行操作,後面的操作就會提示“訪問越界”之類的提示,真是傷透了腦筋。 第二個問題是關於遇到結構體陣列不

Javastatic final用法小結

一、final  根據程式上下文環境,Java關鍵字final有“這是無法改變的”或者“終態的”含義,它可以修飾非抽象類、非抽象類成員方法和變數。你可能出於兩種理解而需要阻止改變:設計或效率。 fina

C++extern關鍵字用法小結

總結C++中關於extern關鍵字的用法。 1.變數的生明和定義中 C++語言支援分離式編譯機制,該機制允許將程式分割為若干個檔案,每個檔案可被獨立編譯。為了將程式分為許多檔案,則需要在檔案中共享程式碼,例如一個檔案的程式碼可能需要另一個檔案中中定義的變數。 為了支援分離式編譯,C++允許將宣告和定義分離開來

Pythonlambda和in指用法小結

in的用法小結 列舉或遍歷 >>> for i in range(100): print(i) 0 1 2 3 4 5 6 7 判斷 if 1 in aa: print 'V

asp.netPage.ClientScript.RegisterStartupScript用法小結

 //ASP.NET後臺頁面跳轉  Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>if(confirm('儲存成功!是否繼續新增?')){location.href='P

VBADateDiff函式用法

返回  Variant  ( Long)  的值,表示兩個指定日期間的時間間隔數目。語法DateDiff( interval, date1, date2 [ , firstdayofweek [ , firstweekofyear ]] )DateDiff 函式語法中有下列命

Linuxfind的命令用法小結

1、find /home -mtime -2      在home下查最近兩天改動的檔案 2、-type 查詢某一型別的檔案,諸如:b-塊裝置檔案;d-目錄;c-字元裝置檔案;p-管道檔案;l-符號連結檔案;f-普通檔案; find -type d 3、按照目錄或檔案

VBAOption的四種用法

工具 www 下標 sof 關鍵字 大小 方式 http tar 1、Option Explicit。當使用Option Explicit時,必須在模塊中的所有過程聲明每一個變量,否則會出現語法錯誤並不能被編譯。這樣做的好處是,它能消除程序中因為錯拼變量名而導致程序 錯誤,

Linuxwget用法

wordpress 用戶名 targe 是否 之前 get robot c斷點續傳 常用語法 Wget簡介:Linux系統中wget是一個下載文件的工具,它用在命令行下。對於Linux用戶是必不可少的工具,我們經常要下載一些軟件或從遠程服務器恢復備份到本地服務器。wget支

Html居中問題小結

center 圖片 middle 元素 一:文字(行內元素)在塊盒子(塊元素)中水平居中:text-aligh:center;二:文字(行內元素)在塊盒子(塊元素)中垂直居中:設定行高等於盒子高例如: height:30px-------->line-height:30px;三:塊

Unity3dSendMessage 用法

req unity3 move 忽略 function java ear option 自動 Message相關有3條指令:SendMessage ("函數名",參數,SendMessageOptions) //GameObject自身的ScriptBroadc

MySQL--操作數據表的記錄小結

log mage 分組 技術 rom ges sql alt image 最常用,最復雜的語句: 每一項的: 表的參照 From 條件 WHERE 進行記錄的分組 GROUP BY 分組的時候對分組的條件進行設定 HAVING 對結果進行排序 ORD