Tin tức mới

    Đăng ký nhận báo giá 2026

    VBA – Message Box (MsgBox)

    1. Message Box là gì?

    Message Box (MsgBox) là hộp thoại hiển thị thông báo cho người dùng trong VBA.
    👉 Dùng để:
    Thông báo kết quả
    Cảnh báo lỗi
    Hỏi người dùng (Yes/No)
    Debug code

    2. Cú pháp cơ bản

    
    MsgBox(prompt, buttons, title)
    

    Trong đó:
    prompt: nội dung hiển thị
    buttons: kiểu nút + icon
    title: tiêu đề hộp thoại

    3. Ví dụ đơn giản

    
    Sub TestMsgBox()
        MsgBox "Hello VBA!"
    End Sub
    
    MsgBox đơn giản
    MsgBox đơn giản

    4. Thêm tiêu đề

    
    Sub TestMsgBox()
       MsgBox "Xin chào", , "Thông báo"
    End Sub
    
    MsgBox thêm thông báo
    MsgBox thêm thông báo

    5. Các loại nút (Buttons)

    Hằng số Ý nghĩa
    vbOKOnly Chỉ nút OK
    vbYesNo Yes / No
    vbYesNoCancel Yes / No / Cancel
    vbRetryCancel Retry / Cancel

    Ví dụ:

    
    Sub TestMsgBox()
      MsgBox "Ban co muon tiep tuc?", vbYesNo, "Xac nhan"
    End Sub
    
    MsgBox với button
    MsgBox với button

    6. Icon trong Message Box

    Hằng số Ý nghĩa
    vbInformation ℹ️ Thông tin
    vbExclamation ⚠️ Cảnh báo
    vbCritical ❌ Lỗi
    vbQuestion ❓ Câu hỏi

    Ví dụ:

    
    Sub TestMsgBox()
     MsgBox "Loi xay ra!", vbCritical, "Error"
    End Sub
    
    MsgBox với icon
    MsgBox với icon

    7. Kết hợp Buttons + Icon

    👉 Dùng dấu +

    
    Sub TestMsgBox()
     MsgBox "Ban chac chan xoa?", vbYesNo + vbQuestion, "Xac nhan"
    End Sub
    
    MsgBox icon và button
    MsgBox icon và button

    8. Nhận giá trị người dùng chọn

    
    Sub AskUser()
        Dim result As VbMsgBoxResult
        
        result = MsgBox("Ban co muon tiep tuc?", vbYesNo + vbQuestion, "Hoi")
        
        If result = vbYes Then
            MsgBox "Ban chon YES"
        Else
            MsgBox "Ban chon NO"
        End If
    End Sub
    
    Nhận giá trị người dùng chọn
    Nhận giá trị người dùng chọn
    Nhận giá trị người dùng chọn-Yes
    Nhận giá trị người dùng chọn-Yes
    Nhận giá trị người dùng chọn-No
    Nhận giá trị người dùng chọn-No

    9. Ví dụ thực tế trong Excel

    Kiểm tra ô trước khi xử lý

    
    Sub CheckCell()
        If Range("A1").Value = "" Then
            MsgBox "O A1 dang trong!", vbExclamation, "Canh bao"
            Exit Sub
        End If
        
        MsgBox "Du lieu hop le!", vbInformation
    End Sub
    
    MsgBox Kiểm tra dữ liệu
    MsgBox Kiểm tra dữ liệu

    Xác nhận trước khi xóa dữ liệu

    
    Sub DeleteData()
        Dim confirm As VbMsgBoxResult
        
        confirm = MsgBox("Ban co chan muon xoa?", vbYesNo + vbCritical, "Canh bao")
        
        If confirm = vbYes Then
            Range("A1:A10").ClearContents
            MsgBox "Da xoa!"
        Else
            MsgBox "Da huy thao tac"
        End If
    End Sub
    
    Xác nhận xóa từ người dùng- Ban co muon xoa
    Xác nhận xóa từ người dùng- Ban co muon xoa
    Xác nhận xóa từ người dùng- Đồng ý-Dữ liệu vùng được chọn đã được xóa
    Xác nhận xóa từ người dùng- Đồng ý-Dữ liệu vùng được chọn đã được xóa

    10. Mẹo nâng cao

    Xuống dòng trong MsgBox

    
    Sub TestMsgBox()
        MsgBox "Dong 1" & vbNewLine & "Dong 2"
    End Sub
    
    Xuống dòng trong MsgBox
    Xuống dòng trong MsgBox

    Hiển thị nhiều thông tin

    
    Sub TestMsgBox()
    MsgBox "Ten: " &  Range("A1").Value&  vbNewLine & _
           "Tuoi: " &  Range("B1").Value
    End Sub
    
    MsgBox hiển thị nhiều thông tin
    MsgBox hiển thị nhiều thông tin
    Yêu cầu tư vấn

      Tư vấn sản phẩm phù hợp

      Yêu cầu báo giá

      Yêu cầu tư vấn kỹ thuật

      Leave a Reply

      Your email address will not be published. Required fields are marked *

      Gọi ngay 24/7 Zalo Messenger Support
      Gọi ĐT tư vấn ngay Chat ngay qua Messenger Chat ngay qua Zalo
      Yêu cầu tư vấn

        Tư vấn sản phẩm phù hợp

        Yêu cầu báo giá

        Yêu cầu tư vấn kỹ thuật