Hà Vân
Hà Vân
Thảo luận 0 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 77 lượt xem

Hướng dẫn chi tiết cách sử dụng msgbox trong VBA Excel

Jul 19 2022

Msgbox trong VBA Excel là một đối tượng thường gặp trong VBA. Để nắm được kiến thức cơ bản về VBA thì các bạn cần biết cách sử dụng msgbox. Hãy cùng chúng mình tìm hiểu qua bài viết dưới đây nhé.

Combo chương trình học Excel và VBA giúp bạn nhân đôi hiệu quả làm việc

Msgbox trong VBA Excel là gì?

Msgbox trong VBA Excel được hiểu là một hộp thoại thông báo. Thông thường, các bạn sẽ gặp rất nhiều hộp thoại thông báo trong Excel trong quá trình làm việc.

Ví dụ: Khi các bạn đóng một file Excel thì sẽ hộp thoại thông báo xem bạn có muốn lưu lại nội dung trước khi đóng hay không.

Hướng dẫn chi tiết cách sử dụng msgbox trong VBA Excel

Hoặc khi các bạn chọn xóa đi một dòng trong Excel thì sẽ thấy bảng thông báo như trong hình ảnh dưới đây:

Hướng dẫn chi tiết cách sử dụng msgbox trong VBA ExcelHướng dẫn chi tiết cách sử dụng msgbox trong VBA Excel

Nói chung, msgbox là để chúng ta xác nhận lại hành vi cũng như mục đích công việc có đúng hay không.

Xem thêm: Module trong VBA là gì? Các thao tác cơ bản để làm việc với module

Cách tạo msgbox trong VBA Excel

Để tạo một msgbox trong VBA Excel thì các bạn mở cửa sổ VBA lên rồi tạo một module mới rồi viết một sub là:

sub ViDu_msgbox 

Hướng dẫn chi tiết cách sử dụng msgbox trong VBA Excel

Trong sub này chúng ta sẽ dùng từ khóa msgbox để gọi hộp thoại thông báo ra cho giao diện làm việc. Trong hộp thoại thông báo này sẽ có 2 cách viết là:

Cách 1

Các bạn thêm dấu mở ngoặc vào từ khóa thì sẽ thấy phần gợi ý được mở ra như sau:

Hướng dẫn chi tiết cách sử dụng msgbox trong VBA Excel

Các phần được gợi ý bên dưới là các thành phần của msgbox trong VBA Excel. Các bạn chỉ cần chú ý đến những thành phần thường xuyên sử dụng là:

  • Prompt: Nội dung của thông báo
  • Button As VBMsgBoxStyle: Là các nút bấm trong bảng thông báo như nút OK hoặc Cancel mà chúng ta thấy ở thông báo phía trên. 
  • Title: Tên tiêu đề của bảng thông báo

Ví dụ: Chúng mình sẽ viết một msgbox đơn giản như sau:

sub ViDu_msgbox 
	MsgBox("Xin chao")
End Sub

Msgbox này chỉ có nội dung đơn giản là hiển thị bảng thông báo có chữ “Xin chao”, không có chức năng nào khác. Khi chạy thử bằng cách bấm nút Run trong cửa sổ làm việc VBA thì các bạn sẽ thấy có một thông báo trên Excel như sau:

Hướng dẫn chi tiết cách sử dụng msgbox trong VBA Excel

Xem thêm: HƯỚNG DẪN TẠO CÂU LỆNH NÚT THÊM MỚI TRONG VBA EXCEL

Cách 2

Với cách làm này thì chúng ta không cần phải thêm dấu ngoặc đơn mà chỉ để một dấu cách phía sau từ khóa msgbox rồi đặt các thành phần còn lại trong dấu nháy kép.

Ví dụ, chúng mình viết một msgbox trong VBA Excel như sau:

sub ViDu_msgbox 
	MsgBox "Xin chao", vbOKCancel, "Thong bao"
End Sub

Trong đó bao gồm:

  • Nội dung (Prompt): Xin chao
  • Nút bấm trong bảng thông báo (Button As VBMsgBoxStyle): vbOKCancel. Các bạn chỉ cần gõ chữ "vb" là sẽ có gợi ý về các kiểu nút bấm hiển thị bên dưới.
  • Tiêu đề thông báo (Title): Thong bao

Khi chạy thử thì sẽ thấy một thông báo như sau:

Hướng dẫn chi tiết cách sử dụng msgbox trong VBA Excel

Bởi vì đây chỉ là một bảng thông báo bình thường nên chúng mình không thêm code cho 2 nút bấm này. Nếu các bạn sử dụng cho công việc thì cần thêm đoạn code để Excel thực hiện một hành động nào đó khi bấm vào nút. Ví dụ như bấm OK thì xóa một hàng, bấm Cancel thì đóng hộp thoại.

Ngoài ra, chúng ta có thể thêm được biểu tượng vào msgbox trong VBA để cảnh báo một điều gì đó. 

Ví dụ chúng mình viết một sub như sau:

sub ViDu_msgbox 
	MsgBox "Xin chao", vbOKCancel + vbCritical, "Thong bao"
End Sub

Khi chạy thử thì trên Excel sẽ hiển thị thông báo có dấu “x” màu đỏ thể hiện tính nghiêm trọng hơn của vấn đề:

Hướng dẫn chi tiết cách sử dụng msgbox trong VBA Excel

Xem thêm: Macro trong Excel: Cấu trúc, cách dùng, cách dừng chạy và lưu file

Cách sử dụng msgbox trong VBA Excel

Cách sử dụng msgbox trong VBA Excel rất đơn giản là các bạn chuẩn bị sẵn nội dung, thông tin cho thông báo rồi đưa nó vào các đoạn code.

Ví dụ, ở đây chúng mình có msgbox được lồng vào đoạn code như sau:

sub ViDu_msgbox 
	sheet1.Range("A2").Value=5
	MsgBox "Ban da nhap so 5", vbOKCancel + vbCritical, "Thong bao"
End Sub

Lưu ý: Msgbox cần được đặt ở cuối của các đoạn code để VBA chạy xong các đoạn code phía trên rồi mới chạy đến phần thông báo này.

Khi chạy thử đoạn code phía trên thì các bạn sẽ thấy giá trị 5 được nhập vào ô A2 kèm theo bảng thông báo:

Hướng dẫn chi tiết cách sử dụng msgbox trong VBA ExcelHướng dẫn chi tiết cách sử dụng msgbox trong VBA Excel

Nếu các bạn muốn tham khảo về việc gán đoạn code cho các nút bấm thì có thể xem đoạn code mẫu chúng mình đã viết cho nút bấm xóa dòng được lấy làm ví dụ ở đầu bài viết:

Hướng dẫn chi tiết cách sử dụng msgbox trong VBA ExcelHướng dẫn chi tiết cách sử dụng msgbox trong VBA Excel

Xem thêm: Thiết lập cơ bản và cách chia màn hình làm việc của VBA trong Excel

Kết luận

Hy vọng bài hướng dẫn về cách sử dụng msgbox trong VBA Excel của chúng mình sẽ giúp các bạn tạo ra được những bảng thông báo hữu ích khi làm việc với Excel. Nếu các bạn muốn được đào tạo cả kiến thức Excel và VBA từ cơ bản đến nâng cao thì hãy đăng ký combo chương trình học Excel và VBA nhé. Ngay khi đăng ký thành công, các bạn sẽ được tặng thêm 3 món quà đặc biệt từ Gitiho bao gồm Add In bổ sung hàm - tính năng không có sẵn cho Excel, Ebook phím tắt trong Excel và khóa học Thủ thuật Excel cho dân văn phòng. Trong quá trình học, bạn có thể đặt câu hỏi cho giảng viên bất cứ khi nào bạn có thắc mắc. Mọi vấn đề của học viên đều được giải đáp trong vòng 8h làm việc để đảm bảo tiến độ học tập cho các bạn. Chúc các bạn thành công!

Cùng tham gia cộng đồng hỏi đáp về chủ đề VBA

Thảo luận 0 câu trả lời
Lượt xem 77 lượt xem
Vỗ tay vỗ tay

0 Bình luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội