Bài 3: MsgBox và cách sử dụng MsgBox trong Excel


{tocify} $title={Table of Contents}

MsgBox trong Excel là gì?

MsgBox (Message Box) là một hộp thoại hiển thị thông báo trên Excel. Hộp thoại này giúp cho người tạo chương trình thông báo đến người dùng những thông báo cần thiết. Hộp thoại này có thể trả về hoặc không trả về kết quả khi người dùng tương tác vào các nút lệnh trên hộp thông báo.

Cách thuộc tính của MsgBox

    • Cú pháp: MsgBox( prompt [, buttons ] [, title ] [, helpfile, context ] )


1. Thuộc tính prompt của MsgBox:

Đây là chuỗi nội dung cần hiển thị trên hộp thông báo. Độ dài cho phép tối đa là 1024 ký tự. Trong chuỗi hiển thị thông báo này các bạn có thể kết hợp với các ký tự đặt biệt để  ngắt dòng, chèn tab, về đầu dòng, ... 

Các ký tự đặc biệt trong VBA:
    • vbCrLf = chr(13) + chr(10) : xuống dòng và về đầu dòng
    • vbCr = chr(13) : xuống dòng
    • vbLf = chr(10) : về đầu dòng
    • vbNewLine = chr(13) + chr(10) : Ký tự dòng mới
    • vbTab = chr(9) : ký tự Tab
    • vbBack = chr(8) : ký tự BackSpace

2. Thuộc tính buttons của MsgBox:

Là các nút nhấn và biểu tượng hiển thị trên hộp thông báo. Đây là thuộc tính không bắt buộc, được biểu thị bằng tổng các giá trị chỉ định số lượng và loại nút hiển thị, loại biểu tượng sử dụng, tên nút và loại hộp thông báo. Nếu thuộc tính này được bỏ qua, thì giá trị mặc định cho các nút là 0.

Bảng giá trị buttons: (nguồn từ Microsoft).

Constant Value Description
vbOKOnly 0 Display OK button only.
vbOKCancel 1 Display OK and Cancel buttons.
vbAbortRetryIgnore 2 Display AbortRetry, and Ignore buttons.
vbYesNoCancel 3 Display YesNo, and Cancel buttons.
vbYesNo 4 Display Yes and No buttons.
vbRetryCancel 5 Display Retry and Cancel buttons.
vbCritical 16 Display Critical Message icon.
vbQuestion 32 Display Warning Query icon.
vbExclamation 48 Display Warning Message icon.
vbInformation 64 Display Information Message icon.
vbDefaultButton1 0 First button is default.
vbDefaultButton2 256 Second button is default.
vbDefaultButton3 512 Third button is default.
vbDefaultButton4 768 Fourth button is default.
vbApplicationModal 0 Application modal; the user must respond to the message box before continuing work in the current application.
vbSystemModal 4096 System modal; all applications are suspended until the user responds to the message box.
vbMsgBoxHelpButton 16384 Adds Help button to the message box.
VbMsgBoxSetForeground 65536 Specifies the message box window as the foreground window.
vbMsgBoxRight 524288 Text is right aligned.
vbMsgBoxRtlReading 1048576 Specifies text should appear as right-to-left reading on Hebrew and Arabic systems.

Lưu ý:
  • Nhóm đầu từ 0 đến 5 mô tả số lượng và loại nút trong hộp thoại.
  • Nhóm thứ hai (16, 32, 48, 64) mô tả kiểu biểu tượng.
  • Nhóm thứ ba (0, 256, 512) xác định nút nào là mặc định.
  • Nhóm thứ tư (0, 4096) xác định phương thức của hộp tin nhắn.

3. Thuộc tính title của MsgBox

Thuộc tính này không bắt buộc. Đây là chuỗi được hiển thị trên thanh tiêu đề của hộp thông báo. Nếu thuộc tính này được bỏ qua, thì thanh tiêu đề sẽ hiển thị mặc định là Microsoft Excel.


4. Thuộc tính helpfile, context của MsgBox

Thuộc tính này không bắt buộc, không thường được sử dụng, tôi xin được bỏ qua.

5. Các giá trị trả về của nút lệnh trên MsgBox

Các giá trị trả về khi nhấn các nút lệnh trên MsgBox:
Constant
Value
Description
vbOK
1
OK
vbCancel
2
Cancel
vbAbort
3
Abort
vbRetry
4
Retry
vbIgnore
5
Ignore
vbYes
6
Yes
vbNo
7
No

Mình sẽ có nhiều ví dụ có sử dụng MsgBox, khi đó các bạn sẽ hiểu rõ hơn về MsgBox.

Cách sử dụng MsgBox trong Excel

Các bạn mở trình soạn thảo code, và tạo một đoạn chương trình như sau:
Private Sub CommandButton1_Click()
    Dim Msg, Style, Title, Help, Ctxt, Response, MyString
    Msg = "Xin chao moi nguoi," & _
    " toi la Kungfu Excel" & Chr(10) & _
     "Chuc moi nguoi mot ngay vui ve!"
     Style = vbYesNo + vbCritical + vbDefaultButton2

    Title = "Welcome Message"
    Res = MsgBox(Msg, Style, Title, Help, Ctxt)
    If Res = vbYes Then
    MsgBox "Ban moi nhan nut Yes"
Else
    MsgBox "Ban moi nhan nut No"
    End If
    End Sub
Tạo một nút lệnh trên worksheet, và gán đoạn chương trình mới tạo ở trên vào. Nhấp vào nút lệnh, hộp thông báo xuất hiện. Trong ví dụ trên, chúng ta đã sử dụng biến Msg để nhận giá trị trả về. Dựa vào bảng các giá trị trả về, nếu giá trị trả về là hằng số vbYes, thì sẽ xuất ra thông báo "Ban moi nhan nut Yes", nếu giá trị trả về là hằng số vnNo thì sẽ xuất ra thông báo "Ban moi nhan nut No".

Post a Comment

Previous Post Next Post

Comments