MACRO
EXCEL OBJECT
VBA BASIC
VBA FORM
BÀI TẬP
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Hộp thoại MsgBox trong Excel VBA

Trong bài này mình sẽ hướng dẫn sử dụng hộp thoại MsgBox trong VBA, đây là hộp thoại dùng để hiển thị thông tin và thông báo trong lập trình Excel VBA.

Hộp thoại MsgBox chỉ có một công dụng duy nhât là hiển thị một thông báo dạng popup, sau đó trả kết quả của hành động mà người dùng đã chọn trên popup đó.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Dựa vào kết quả này ta biết được mong muốn của người dùng là gì, để từ đó xử lý tiếp theo yêu cầu của bài toán.

1. Cú pháp hộp thoại MsgBox trong VBA

Cú pháp của nó như sau:

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

Trong đó những tham số nằm trong ngoặc vuông [] là không bắt buộc, còn tham số prompt là bắt buộc phải truyền vào.

  • Prompt là chuỗi thông báo sẽ hiển thị trên popup, đây là tham số bắt buộc, có độ dài tối đa là 1024 ký tự.
  • Buttons là tham số không bắt buộc, đây là loại button mà bạn muốn hiển thị.
  • Title là tham số không bắt buộc, là nội dung sẽ hiển thị trên thanh tiêu đề của hộp thoại.
  • Helpfilecontext là hai tham số không bắt buộc, rất hiếm khi sử dụng nên ta sẽ tìm hiểu sâu hơn ở bài khác

Tham số rắc rối nhất là Buttons, bởi vì ta có thể truyền nhiều thông số vào để quyết định thể loại mà hộp thoại sẽ hiển thị. Bảng dưới đây chính là những tham số đó:

(Mình để tiêng Anh bởi khi dịch ra tiếng Việt sẽ rất khó hiểu)

Giá trị Nhóm Kiểu Miêu tả
vbOKOnly 1 Buttons Ok button.
vbOKCancel 1 Buttons Ok and cancel buttons.
vbAbortRetryIgnore 1 Buttons Abort, Retry and Ignore buttons.
vbYesNoCancel 1 Buttons Yes, No and Cancel buttons.
vbYesNo 1 Buttons Yes and No buttons.
vbRetryCancel 1 Buttons Retry and Cancel buttons.
vbCritical 2 Icon Critical Message icon.
vbQuestion 2 Icon Warning Query icon.
vbExclamation 2 Icon Warning Message icon.
vbInformation 2 Icon Information Message icon.
vbDefaultButton1 3 Default button Set button 1 to be selected.
vbDefaultButton2 3 Default button Set button 2 to be selected.
vbDefaultButton3 3 Default button Set button 3 to be selected.
vbDefaultButton4 3 Default button Set button 4 to be selected. Note that there will only be four buttons if the help button is included with vbAbortRetryIgnore or vbYesNoCancel.
vbApplicationModal 4 Modal Cannot access Excel while the button is displayed. Msgbox is only displayed when Excel is the active application.
vbSystemModal 4 Modal Same as vbApplicationModal but the message box is displayed in front of all applications.
vbMsgBoxHelpButton 5 Other Adds a help button
vbMsgBoxSetForeground 5 Other Sets the message box windows to be the foreground window
vbMsgBoxRight 5 Other Right aligns the text.
vbMsgBoxRtlReading 5 Other Specifies text should appear as right-to-left reading on Hebrew and Arabic systems.

Trong đó chi tiết các nhóm như sau:

  • Nhóm 1 là loại button (nút ok, nút cancel, két hợp cả 2 ....)
  • Nhóm 2 là biểu tượng hiển thị (cảnh báo, thông tin, ...)
  • Nhóm 3 là nút nào sẽ ở trạng thái selected (đang chọn) khi hộp thoại vừa hiển thị ra.
  • Nhóm 4 là cách hiển thị hộp thoại so với các ứng dụng khác
  • Nhóm 5 là một số tùy chọn hiển thị về vị trí của hộp thoại

Như vậy trong bài này ta chỉ quan tâm đến ba tham số, đó là: Prompt, ButtonsTitle.

Ví dụ: Hiển thị một hộp thoại đơn giản.

Sub SayHello()
    MsgBox "Chào mừng bạn đến với Freetuts.net"
EndSub

Giá trị trả về của MsgBox

Hàm MsgBox sẽ trả về một đối tượng VbMsgBoxResult, lưu trữ kết quả mà người dùng đã chọn trên hộp thoại.

Ví dụ: Lấy kết quả mà người dùng đã chọn trên hộp thoại MsgBox

Sub SayHello()
    Dim response as VbMsgBoxResult
    response = MsgBox ("Chào mừng bạn đến với Freetuts.net", vbYesNo + vbInformation)
EndSub

Từ khóa Dim dùng để khai báo biến trong VBA. Bạn có thể đọc thêm tại bài các kiểu dữ liệu trong Visual Basic.

2. Cách dùng hộp thoại MsgBox trong VBA

Ta sẽ làm một ví dụ thật đơn giản để các bạn hiểu hơn về đối tượng MsgBox này nhé.

Bài tập 1: Hiển thị một lời chào khi click vào một button.

B1: Tạo một Commmand Button (nếu chưa biết cách tạo thì xem bài cách tạo Macro).

B2: Viết nội dung cho hành đông Click vòa command như sau.

Private Sub CommandButton1_Click()
    MsgBox "Welcome to Freetuts.net"
End Sub

Quay trở lại Excel, bạn hãy click vào Command Button vừa tạo thì sẽ nhận được thông báo như sau.

msgbox vd1 JPG

Bài tập 2: Hiển thị hộp thoại có hai tùy chọn là Yes và Cancel.

Private Sub CommandButton1_Click()
    MsgBox "Welcome to Freetuts.net", vbOKCancel
End Sub

msgbox vd2 JPG

Bài tập 3: Hiển thị hộp thoại với icon là dấu cảm thán (vbExclamation)

Private Sub CommandButton1_Click()
    MsgBox "Welcome to Freetuts.net", vbOKCancel + vbExclamation
End Sub

msgbox vd3 JPG

Bài tập 4: Lấy kết quả mà người dùng click vào hộp thoại.

Private Sub CommandButton1_Click()
    Dim result As VbMsgBoxResult
    result = MsgBox("Welcome to Freetuts.net", vbOKCancel + vbExclamation)
    MsgBox result
End Sub

Bạn hãy click vào Button, sau đó chọn thì sẽ thấy kết quả trả về là một con số.

Sau này chúng ta sẽ sử dụng những con số đó để biết được người dùng đã chọn gì.

Dưới đây là bảng số mà hàm MsgBox trả về.

Hành động Giá trị Hiển thị
vbOK 1 OK
vbCancel 2 Cancel
vbAbort 3 Abort
vbRetry 4 Retry
vbIgnore 5 Ignore
vbYes 6 Yes
vbNo 7 No

Trên là cách sư dụng MsgBox trong VB căn bản và dễ hiểu nhất. Đây là một đối tượng được sử dụng rất nhiều trong Excel nên bạn phải cố gắng nắm vững nhé. Hẹn gặp lại bạn ở bài tiếp theo.

Cùng chuyên mục:

Cách chèn link ảnh vào Excel trên máy tính

Cách chèn link ảnh vào Excel trên máy tính

Ngoài ra, bài viết còn hướng dẫn cách chèn link ảnh trực tuyến hàng loạt…

Cách tách và gộp ô trong Excel

Cách tách và gộp ô trong Excel

Trong bảng tính Microsoft Excel, có thể sẽ có lúc các bạn cần tách ô…

Hàm MONTH() trong Excel

Hàm MONTH() trong Excel

Cách dùng hàm MONTH() trong Excel

Hàm YEAR () trong Excel

Hàm YEAR () trong Excel

Cách dùng hàm YEAR () trong Excel

Hàm HLOOKUP() trong Excel

Hàm HLOOKUP() trong Excel

Cách dùng hàm HLOOKUP() trong Excel

Hàm VLOOKUP() trong Excel

Hàm VLOOKUP() trong Excel

Cách dùng hàm VLOOKUP() trong Excel

Hàm LOOKUP() trong Excel

Hàm LOOKUP() trong Excel

Cách dùng hàm LOOKUP() trong Excel

Hàm ABS() trong Excel

Hàm ABS() trong Excel

Cách dùng hàm ABS() trong Excel

Hàm SUM() trong Excel

Hàm SUM() trong Excel

Cách dùng hàm SUM() trong Excel

Hàm SQRT() trong Excel

Hàm SQRT() trong Excel

Cách dùng hàm SQRT() trong Excel

Hàm MOD() trong Excel

Hàm MOD() trong Excel

Cách dùng hàm MOD() trong Excel

Hàm SUMIF() trong Excel

Hàm SUMIF() trong Excel

Cách dùng hàm SUMIF() trong Excel

Hàm SUBTOTAL() trong Excel

Hàm SUBTOTAL() trong Excel

Cách dùng hàm SUBTOTAL() trong Excel

Hàm ROUND() trong Excel

Hàm ROUND() trong Excel

Cách dùng hàm ROUND() trong Excel

Hàm SUMPRODUCT() trong Excel

Hàm SUMPRODUCT() trong Excel

Cách dùng hàm SUMPRODUCT() trong Excel

Hàm COUNT() trong Excel

Hàm COUNT() trong Excel

Cách dùng hàm COUNT() trong Excel

Hàm COUNTA() trong Excel

Hàm COUNTA() trong Excel

Cách dùng hàm COUNTA() trong Excel

Hàm COUNTBLANK() trong Excel

Hàm COUNTBLANK() trong Excel

Cách dùng hàm COUNTBLANK() trong Excel

Hàm MAX() trong Excel

Hàm MAX() trong Excel

Cách dùng hàm MAX() trong Excel

Hàm MIN() trong Excel

Hàm MIN() trong Excel

Cách dùng hàm MIN() trong Excel

Top