Dưới đây là hướng dẫn chi tiết toàn diện về MsgBox trong VBA Excel, giúp bạn sử dụng linh hoạt trong mọi tình huống — từ thông báo đơn giản đến xử lý lựa chọn người dùng.
MsgBox(prompt, [buttons], [title])
Giải thích:
prompt: Chuỗi văn bản cần hiển thị (bắt buộc).
buttons: Kiểu nút và icon bạn muốn hiển thị (tùy chọn).
title: Tiêu đề cửa sổ MsgBox (tùy chọn).
Ví dụ hàm Msgbox vba excel đơn giản
Sub ThongBao()
MsgBox "Đây là thông báo đơn giản."
End Sub
Ví dụ hàm Msgbox nhiều dòng vba excel
Sub ThongBao()
MsgBox "Dòng 1" & vbCrLf "Dòng 2" & vbCrLf & "Dòng 3"
End Sub
Tại sao phải thêm tiêu đề và icon khi làm ứng dụng Excel ?
Trả lời: giúp phần mềm trực quan hơn với người dùng.
Sub ThongBaoVoiTieuDe()
MsgBox "Dữ liệu đã được lưu thành công!", vbInformation, "Thông báo"
End Sub
Tại sao cần phản hồi người dùng từ hàm Msgbox ?
Trả lời: nếu bạn hỏi người dùng có muốn xóa hay không, thì làm sao bạn biết được là người dùng trả lời có hay không.
Sub XacNhanXoa()
Dim traLoi As VbMsgBoxResult
traLoi = MsgBox("Bạn có chắc chắn muốn xóa không?", vbYesNo + vbQuestion, "Xác nhận")
If traLoi = vbYes Then
MsgBox "Dữ liệu đã bị xóa.", vbInformation
Else
MsgBox "Thao tác đã bị hủy.", vbExclamation
End If
End Sub
📋 Các giá trị trả về có thể là:
Giá trị hằng số Người dùng đã nhấn
vbOK OK
vbCancel Cancel
vbYes Yes
vbNo No
vbRetry Retry
vbAbort Abort
vbIgnore Ignore
Hằng số Mô tả
vbOKOnly Chỉ nút OK
vbOKCancel OK và Cancel
vbYesNo Yes và No
vbYesNoCancel Yes, No, Cancel
vbAbortRetryIgnore Abort, Retry, Ignore
Sub XacNhanLuu()
Dim kq As VbMsgBoxResult
kq = MsgBox("Bạn có muốn lưu dữ liệu trước khi thoát không?", vbYesNoCancel + vbQuestion, "Lưu dữ liệu")
Select Case kq
Case vbYes
MsgBox "Dữ liệu đã được lưu!", vbInformation
Case vbNo
MsgBox "Không lưu dữ liệu.", vbExclamation
Case vbCancel
MsgBox "Thao tác bị hủy.", vbCritical
End Select
End Sub
MsgBox "Dòng 1" & vbCrLf & "Dòng 2"
Hoặc có thể dùng Chr(10) (xuống dòng):
MsgBox "Dòng 1" & Chr(10) & "Dòng 2"
Sub KiemTraGiaTri()
Dim cellValue As String
cellValue = Range("A1").Value
If cellValue = "" Then
MsgBox "Ô A1 đang trống!", vbExclamation, "Cảnh báo"
Else
MsgBox "Giá trị trong A1 là: " & cellValue, vbInformation
End If
End Sub
Tìm kiếm:
Hướng dẫn chi tiết về Msgbox trong VBA Excel, ứng dụng vào làm phần mềm thực tế thế nào ?