Msgbox trong VBA Excel

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 ?

  1. Cấu trúc chuẩn của MsgBox VBA Excel
  2. Hiển thị thông báo đơn giản
  3. Thêm tiêu đề và icon Msgbox
  4. Thêm nút và xử lý phản hồi người dùng
  5. Các kiểu nút kết hợp (buttons)
  6. Ví dụ thực tế: xác nhận lưu dữ liệu
  7. Xuống dòng trong MsgBox
  8. Ví dụ nâng cao: kiểm tra ô Excel có giá trị không
  9. Video thực hành hàm Msgbox

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 trong VBA Excel

1. Cấu trúc chuẩn của MsgBox VBA Excel

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).

2. Hiển thị thông báo đơn giả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

 

 

Msgbox nhiều dòng

 

3. Thêm tiêu đề và icon Msgbox

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


    vbInformation: Hiện biểu tượng chữ "i"
    vbExclamation: Biểu tượng cảnh báo (!)
    vbCritical: Biểu tượng lỗi (X đỏ)
    vbQuestion: Biểu tượng dấu hỏi (?)

4. Thêm nút và xử lý phản hồi người dùng

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

5. Các kiểu nút kết hợp (buttons)

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

6. Ví dụ thực tế: xác nhận lưu dữ liệu

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

7. Xuống dòng trong MsgBox

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"

8. Ví dụ nâng cao: kiểm tra ô Excel có giá trị không

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

9. Video thực hành hàm Msgbox

Tìm kiếm:

Bài viết liên quan:

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 ?