MsgBox函數的講解及應用

2020-12-17 騰訊網

今日的內容是「VBA之EXCEL應用」的第二章「MsgBox與InputBox對話框的應用」中第二節「MsgBox函數的講解及應用」。「VBA之EXCEL應用」這套教程從簡單的錄製宏的講解,一直到窗體的搭建,內容豐富,案例眾多。大家可以非常容易的掌握相關的知識,這套教程面向初學人員,共三冊,十七章,都是我們在利用EXCEL工作過程中需要掌握的知識點,希望大家能掌握利用。

第二節MsgBox函數的講解及應用

大家好,我們今天講解的內容是MsgBox函數。在上一講,我們講解了MsgBox對話框的簡單應用,今日講解的是MsgBox函數,兩者有什麼不同呢?所謂函數,指的是一個Function過程,區別於簡單的過程,Function過程是有返回值的。

Excel VBA中的MsgBox函數可以返回結果,而簡單的MsgBox語句不能返回結果。

1 MsgBox函數

在對話框中顯示消息,等待用戶單擊按鈕,並返回一個整數,指示用戶單擊的那個按鈕.

1)語法:

MsgBox (prompt, [ buttons, ] [ title, ] [ helpfile, context ])

參數:

prompt 必需項。 字符串表達式在對話框中顯示為消息。 prompt 的最大長度約為 1024 個字符,具體取決於所使用的字符的寬度。如果 prompt 包含兩行以上,則可以在每行之間使用回車符 (Chr(13))、換行符 (Chr(10)) 或回車換行符組合 (Chr(13) & Chr(10)) 將其分隔。

buttons 可選。 數值表達式,用於指定要顯示按鈕的數量和類型、要使用的圖標樣式、默認按鈕的標識和消息框的形式的值之和。 如果省略,則 buttons 的默認值為 0。

title可選。 對話框標題欄中顯示的字符串表達式。 如果省略 title,則標題欄中將顯示應用程式名稱。

helpfile 可選。 用於標識幫助文件的字符串表達式,前者用於為對話框提供上下文相關的幫助。 如果提供 helpfile,則也必須提供 context。

context 可選。 幫助上下文數值的數值表達式,該數值由幫助作者為相應的幫助主題分配。 如果提供 context,則也必須提供 helpfile。

2)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 第四個按鈕是默認按鈕。

vbApplicationModal 0 應用程式模式;用戶在繼續在當前應用程式中工 作前必須響應消息框。

vbSystemModal 4096 系統模式;在用戶響應消息框前,所有應用程式都掛起。

vbMsgBoxHelpButton 16384 在消息框中添加「幫助」按鈕。

vbMsgBoxSetForeground 65536 將消息框窗口指定為前景窗口。

vbMsgBoxRight 524288 文本右對齊。

vbMsgBoxRtlReading 1048576 指定文本在希伯來語和阿拉伯語系統中應從右到左顯示。

3)第一組值 (0-5) 表示對話框中顯示的按鈕的數量和類型;第二組值(16、32、48、64)表示圖標樣式;第三組值(0、256、512)用於確定默認按鈕;第四組值(0、4096)用於確定消息框的形式。添加數字以創建最終 buttons 參數值時,只是用每個組中的其中一個數值。

4)關於返回值

常量 值 說明

vbOK 1 確定

vbCancel 2 Cancel

vbAbort 3 中止

vbRetry 4 重試

vbIgnore 5 忽略

vbYes 6 是

vbNo 7 否

l如果對話框中顯示「取消」按鈕,按 ESC 鍵與單擊「取消」具有相同的作用。 如果對話框中包含「幫助」按鈕,則會為對話框提供上下文相關幫助。但是,在單擊其他按鈕中的某個按鈕之前不會返回任何值。

2 MsgBox函數的應用

為了清空某個工作表,我們可以寫一段代碼達到我們的目的。但是在運行之前要提供給用戶思考的時間,清空後是否有其他的麻煩。我們來看下面的代碼:

Sub mynzC()

answer = MsgBox("你是否要清空工作表?", vbYesNo + vbQuestion, "清空工作表")

If answer = vbYes Then

Cells.ClearContents

Else

'do nothing

End If

End Sub

代碼截圖:

代碼解讀:

1) answer = MsgBox("你是否要清空工作表?", vbYesNo + vbQuestion, "清空工作表")

使用括號時,MsgBox函數有三個參數。第一部分用於消息框中的消息。使用第二部分指定要在消息框中顯示的按鈕和圖標。第三部分顯示在消息框的標題欄中。

l注意:將光標放在Visual Basic編輯器中的vbYesNo上,然後單擊F1查看可以使用的其他按鈕和圖標。也可以使用相應的值4和32,而不是常量vbYesNo和vbQuestion。

2) If answer = vbYes Then

Cells.ClearContents

Else

'do nothing

End If

如果用戶單擊「是」按鈕,Excel VBA將清空工作表。如果用戶單擊No按鈕,則不會發生任何事情。

3 代碼的運行情況

我們先在工作表中建立一個運行按鈕,並關聯上上述的「mynzC」過程,並在工作表中隨便錄入些數值、符號,之後在點擊後會清除。如下圖:

我們點擊運行,會彈出下面的窗口:

我們選擇「是」。

這個時候的工作表就被清空了。

今日內容回向:

1) MsgBox函數的語法了解嗎?

2) MsgBox函數在應用時分幾部分?

3) 清空工作表是那句代碼?

本講內容參考程序文件:工作簿02.xlsm

分享成果,隨喜正能量

VBA的應用範圍及學習方法:

VBA是利用Office實現個人小型辦公自動化的有效手段(工具)。這是我對VBA的應用界定。在取代OFFICE新的辦公軟體沒有到來之前,誰能在數據處理方面做到極致,誰就是王者。其中登峰至極的技能非VBA莫屬!

我記得20年前自己初學VBA時,那時的資料甚少,只能看源碼自己琢磨,真的很難。20年過去了,為了不讓學習VBA的朋友重複我之前的經歷,我根據自己多年VBA實際利用經驗,推出了七部VBA專門教程。

第一套:VBA代碼解決方案 是VBA中各個知識點的講解,教程共147講,覆蓋絕大多數的VBA知識點,提供的程序文件更是一座不可多得的代碼寶庫,是初學及中級人員必備教程;目前這套教程提供的版本是修訂第二版,程序文件通過32位和64位兩種OFFICE系統測試。

第二套:VBA資料庫解決方案 資料庫是數據處理的專業利器,教程中詳細介紹了利用ADO連接ACCDB和EXCEL的方法和實例操作,適合中級人員的學習。目前這套教程提供的是修訂第一版教程,程序文件通過32位和64位兩種OFFICE系統測試。

第三套:VBA數組與字典解決方案 數組和字典是VBA的精華,字典是VBA代碼水平提高的有效手段,值得深入的學習,是初級及中級人員代碼精進的手段。目前這套教程提供的版本是修訂第一版,程序文件通過32位和64位兩種OFFICE系統測試。

第四套:VBA代碼解決方案之視頻 是專門面向初學者的視頻講解,可以快速入門,更快的掌握這門技能。這套教程是第一套教程(修訂一版)的視頻講解,視頻更易接受。

第五套:VBA中類的解讀和利用這是一部高級教程,講解類的虛無與肉身的度化,類的利用雖然較少,但仔細的學習可以促進自己VBA理論的提高。這套教程的領會主要是讀者的領悟了,領悟一種佛學的哲理。目前這套教程提供的版本是修訂第一版,程序文件通過32位和64位兩種OFFICE系統測試。

第六套教程:VBA信息獲取與處理,這是一部高級教程,涉及範圍更廣,實用性更強,面向中高級人員。教程共二十個專題,包括:跨應用程式信息獲得、隨機信息的利用、電子郵件的發送、VBA網際網路數據抓取、VBA延時操作,剪切板應用、Split函數擴展、工作表信息與其他應用交互,FSO對象的利用、工作表及文件夾信息的獲取、圖形信息的獲取以及定製工作表信息函數等等內容。程序文件通過32位和64位兩種OFFICE系統測試。

第七套教程:VBA之EXCEL應用 這是一部初級教程這部教程共三冊,從從創建宏、對話框、工作簿和工作表對象、單元格對象等基礎內容講起,到循環結構、錯誤處理、字符串操作、日期和時間、事件、數組應用,函數過程等方面,一直講解到控制項和窗體對象的應用都是我們提高自己EXCEL水平的必須。

以上各教程學習順序:7 1 3 2 6 5或者7 4 3 2 6 5。其中第四套是對第一套的視頻講解,所以第一和第四隻選其一即可。可以W^e^C^h^a^t:VBA6337(或者NZ9668),兩個對象是都是可以的。

_______________________________

有啟發 點在看 朋友分享

約作者 請留言 直接交流

相關焦點

  • 此題是典型的一次函數應用題,理解題意並利用函數性質是解題關鍵
    數學世界今天將繼續為大家分享初中數學中比較有代表性的一次函數解答題,筆者希望通過對習題的分析與講解,能夠為廣大初中生學習一次函數的知識提供一些幫助! 一直以來,數學世界都是精心挑選一些數學題分享給大家,希望由此激發學生們對數學這門課程的學習興趣,並能給廣大學生學習數學這門課程提供助力!
  • Excel中隨機函數的應用!
    我們工作中在講解案例或者分析數據,經常要錄入一些模擬數字,特別是一些Excel培訓師,若一個個的錄入,效率肯定會低,其實Excel給我們提供了很多函數可以幫助我們。主要有3個函數:01RANDRAND 返回了一個大於等於 0 且小於 1
  • 根據條件判斷,excel邏輯函數中if函數的應用
    我們在實際工作和生活中,經常會以根據條件進行判斷,比如我們會經常說,假如什麼成立,就會產生什麼結果,if函數就是excel邏輯函數中用於條件判斷真假的函數,下面我們就一起來學習一下。excel邏輯函數中if函數的應用if函數的應用還是比較廣泛的,比如你是一名人民教師,你的日常工作需要給班裡的學生成績進行評級,小於60分的就是不及格,大於或者等於60分的就是及格
  • Excel查找,除了LOOKUP函數還有這對CP函數組合
    我們都知道Excel的VLOOKUP函數是經典的查找引用函數。但很多小夥伴們不知道的是INDEX+MATCH這個CP組合,其操作上更靈活,很多時候比VLOOKUP函數更高效。Match函數和index函數是幹什麼的?MATCH函數是Excel主要的查找函數之一,MATCH函數可以在特定區域搜索指定項,並返回指定項在特定區域的位置。通俗點講就是我知道這個「蘿蔔」名字,我通過MATCH函數可以找到它的「坑」在哪裡?
  • excel函數應用:如何寫出IF函數多級嵌套公式
    編按:說到函數就不得不提起函數中最受歡迎的三大家族:求和家族、查找引用家族、邏輯家族!!!沒錯!今天我們要介紹的就是三大家族之一邏輯函數家族的領頭人:IF函數——很多人難以理解IF函數的多級嵌套使用。其實,把多級嵌套當成剝洋蔥就好了。IF函數是一個邏輯函數。它的主要功能是根據指定的條件判斷「真」「假」,進而根據真假返回相應的內容。
  • 高考考點解讀:二次函數與冪函數
    考綱原文知識點講解一、二次函數1.二次函數的概念2.表示形式3.二次函數的圖象與性質4.常用結論二、冪函數1.冪函數的概念2.幾個常見冪函數的圖象與性質3.常用結論(1)冪函數在(0,+∞)上都有定義.
  • excel函數公式應用:時間日期提取公式匯總,你用過哪些?
    如果用人工計算會非常麻煩,而使用Excel函數公式則非常簡單,今天給大家整理一期時間計算的公式套路大全,記得收藏起來慢慢看!(本教程涉及的公式都比較基礎,不做過多講解,需要哪個公式直接套用即可。)WEEKNUM的應用場景:在某些場合,可能需要按周來進行銷售分析,而如果數據中只有日期,此時就可以用WEEKNUM函數來輔助,再用透視表得到每周的匯總數據,如下圖所示。
  • 隨機生成數據的幾個小技巧,rand函數的應用
    我們在日常工作中,有時候使用excel表格隨機生成數據,下面我們就分享一下隨機函數rand的使用技巧。rand函數可以生成0-1之間的隨機函數(包含小數位數)。我們大部分人都只使用rand函數的基礎應用,就是在excel單元格內輸入=rand(),然後按enter鍵,即可生成隨機數,按F9鍵可以自動刷新。如果我們覺得0-1之間這個數值不能夠滿足我們的需求,我們也讓他放大使用公式=rand()*100,加上*100也就擴大100倍的隨機數。假如我們需要要給這個隨機函數生成的隨機數指定一個範圍,那我們可以使用=rand()*(B-A)+A。
  • 細數實際工作中5種常見的SUMIF函數應用
    Excel中,條件求和函數SUMIF可以很好地解決這些問題。SUMIF函數說明。SUMIF函數Excel最常用的函數之一,其主要作用是對符合指定單一條件的值求和。符合指定單一條件,也就是滿足一個條件,SUMIF是單條件求和,多條件求和我們下一章節介紹。
  • ...還能排名的萬能函數Sumproduct應用技巧解讀! - Excel函數公式
    在眾多的Excel函數中,能同時完成求和、計數以及排名功能的函數不多,其中Sumproduct就是其中一個。一、萬能函數Sumproduct:功能及語法結構。二、萬能函數Sumproduct:單條件求和。目的:計算相應地區的總銷售額。
  • Average系列函數應用技巧解讀
    但在實際的應用中,並不簡單的只是計算一組數值的平均值,往往附加條件等,此時,如果還用「和÷個數」的方法去計算,就顯得有點兒Out了!一、Average函數。功能:用於計算參數的平均值。語法結構:=Average(數值、單元格引用或數組)。目的:計算「銷售員」的平均銷售額。
  • 中考新亮點,分類突破分段函數應用問題的重圍
    以一次函數圖象為載體,構建的具有實際意義的數學問題,稱之為「一次函數的實際應用題」。常常涉及到分段函數的應用,其特點是實際問題中的數量及其關係蘊涵在函數圖象中.其難點是從圖象中提取、分析和處理信息,還原實際問題發生過程.其類型有行程問題、進出問題、工作問題和雙圖象問題。
  • 財會人員必須掌握的10個Excel函數公式應用技巧解讀! - Excel函數...
    不同的行業,對Excel的需求可能不盡相同……今天,小編帶大家了解一下財會人員必備的10個函數公式。一、財會必備:多條件求和。函數:Sumifs。2、多條件求和函數Sumifs也可以單條件求和。二、財會必備:隱藏錯誤值。函數:Iferror。
  • 全國計算機一級 MS Office Excel中OR函數的用法!
    上次給大家講解的是AND函數在全國計算機等級一級 MS Office在考試中的用法,今天給大家講解一下OR函數結合IF函數在題目中應用。OR函數-又叫邏輯或函數語法:OR(Logical1,Logical2,...)
  • 利用REPLACE函數來升級你的數據資料
    今日來講一個用於升級資料庫的函數----REPLACE函數.此函數對於很多人是比較陌生的,但有時利用起來會起到事半功倍的效果。比如之前講過的身份證號碼的升級;公司發展了,有員工代碼的升級;設備多了,有設備號碼的升級,等等。如何準確快速的升級號碼呢?就要利用今日講解的REPLACE函數了。
  • 20、函數y=Asin(ωx+φ)的圖像及應用
    相關結論考點自測函數y=Asin(ωx+φ)的圖象及變換 求函數y=Asin(ωx+φ)的解析式函數y=Asin(ωx+φ)性質的應用思考如何求解三角函數圖象與性質的綜合問題?要點歸納小結1.由函數y=Asin(ωx+φ)的圖象確定A,ω,φ的題型,常常以「五點法」中的五個點作為突破口,要從圖象的升降情況找準第一個「零點」和第二個「零點」的位置.要善於抓住特殊量和特殊點.
  • Excel公式自動統計月內第幾周,經典日期函數大展身手
    這類常見問題還包括統計日期對應的星期、月內第幾周、年內第幾周等等,所以今天專門寫篇教程,一併講解,幫助大家實現Excel自動化統計,提高工作效率。在下面做好的Excel函數模板中,可以根據指定的年份條件,在A列自動生成全年日期數據,並且分別自動統計星期幾、年內第幾周、月內第幾周,效果如下gif動圖所示。
  • 利用TRIMMEAN函數,按比例剔除主觀認為異常的數據
    近幾期我將就統計函數推出系列文章,是結合我多年的工作經驗,同時參考些必要的資料來講解,其目的仍是為了給廣大的統計工作人員以解脫,可以節省時間,同時提高自己的工作效率。今日將講的函數是TRIMMEAN函數,這個函數是統計中經常遇到的函數,它的作用是可以靈活地去除異常的數據,可以真正的反應出數據的真實性。很多函數在我之前的文章中也講解過,不過每次的講解會有不同的側重點,有時側重的是過程,有時側重的是結果,但總會讓大家有所收穫,本平臺的宗旨就是分享成果,隨喜正能量。TRIMMEAN函數:返回數據集的內部平均值。
  • excel日期函數:不同日期函數的返回值解析
    EDATE函數是我們工作中十分常用的一個函數,它不僅能用於計算員工轉正日期、合同到期日,還能計算產品有效期截止日等。關於EDATE函數的詳細用法,小夥伴們可以參考之前的教程《到期日計算,EDATE甩DATE函數兩條街!》,此處不做贅述了。二、關於其他的日期函數苗老師:「既然說到了這裡,那我就乾脆再多教你幾個關於日期的函數。」1.