Sử dụng MsgBox trong Excel VBA – hướng dẫn đầy đủ

Để tăng tính tương tác cho bảng tính Excel sử dụng VBA Excel của riêng bạn, cụ thể là trong trường hợp bạn muốn đưa ra thông báo, ghi chú cho người dùng, chúng tôi sử dụng MsgBox trong Excel VBA.

MsgBox cơ bản nhất

Một Excel VBA MsgBox có thể được tạo trong trình soạn thảo mã Excel VBA như sau:

su-dung-msgbox-in-excel-vba-1
MsgBox cơ bản trong Excel VBA

Chạy đoạn mã trên trong Excel VBA, chúng tôi sẽ nhận được kết quả sau:

su-dung-msgbox-in-excel-vba-2

Theo mặc định, tiêu đề (tham số tiêu đề sẽ được thảo luận trong đoạn tiếp theo) của hộp thoại MsgBox trong Excel sẽ có từ “Microsoft Excel”. Chúng tôi có thể thay đổi tiêu đề này bằng cách sửa đổi mã trên như sau:

Tải game crack việt hoá tại: https://daominhha.com
su-dung-msgbox-in-excel-vba-3
Sử dụng Msgbox trong Excel VBA với tiêu đề tùy chỉnh

Các tham số của MsgBox trong Excel VBA

Ở phần trước, nếu bạn chỉ sử dụng MsgBox trong Excel VBA như một hộp thoại thông báo, thì tôi tin rằng đã đủ những gì “cần thiết ở mức tối thiểu”, trong phần này, chúng tôi sẽ đề cập đến nó. mã sẽ giúp chúng tôi điều chỉnh MsgBox theo ý muốn.

Trong VBA, khi bạn bắt đầu viết “MsgBox” trong Sub, trình soạn thảo VBA sẽ gợi ý cho bạn các tham số mà MsgBox nhận được như sau:

su-dung-msgbox-in-excel-vba-4
Các tham số của MsgBox trong Excel VBA

Bạn để ý, ở đây prompt, button, title, helpfile, context là các tham số của MsgBox, các tham số không nằm trong ngoặc vuông là các tham số bắt buộc (prompt); Các tham số được đặt trong dấu ngoặc vuông (nút, tiêu đề, tệp trợ giúp, ngữ cảnh) là tùy chọn.

>>> Xem thêm:  Hướng Dẫn Tính Toán Nhanh Khi File Excel Nặng Hay Quá Nhiều Công Thức

Phần cơ bản của bài viết các bạn đã làm quen với tham số nhắc và tiêu đề của MsgBox, ở phần này chúng ta sẽ đi tìm hiểu các tham số tiếp theo là tham số Buttons.

Các thông số trợ giúp và ngữ cảnh hiếm khi được chúng tôi sử dụng, vì vậy chúng sẽ được đề cập trong một bài viết chuyên sâu khác.

Phần “As VbMsgBoxResult” là giá trị trả về của hàm MsgBox khi người dùng nhấp vào nút trên hộp thoại MsgBox.

Các nút tham số

Tham số Buttons của MsgBox nhận các giá trị sau

Giá trị Tập đoàn Kiểu Diễn tả
vbOKOnly đầu tiên nút Nút Ok.
vbOKCancel đầu tiên nút Ok và các nút hủy.
vbAbortRetryIgnore đầu tiên nút Các nút Hủy bỏ, Thử lại và Bỏ qua.
vbYesNoCancel đầu tiên nút Các nút Có, Không và Hủy.
vbYesNo đầu tiên nút Các nút Có và Không.
vbRetryCancel đầu tiên nút Các nút Thử lại và Hủy.
vbCritical 2 Biểu tượng Biểu tượng Tin nhắn quan trọng.
vbQuestion 2 Biểu tượng Biểu tượng Truy vấn Cảnh báo.
vbExclamation 2 Biểu tượng Biểu tượng Thông báo Cảnh báo.
vbInformation 2 Biểu tượng Biểu tượng Thông báo Thông tin.
vbDefaultButton1 3 Nút mặc định Đặt nút 1 được chọn.
vbDefaultButton2 3 Nút mặc định Đặt nút 2 được chọn.
vbDefaultButton3 3 Nút mặc định Đặt nút 3 được chọn.
vbDefaultButton4 3 Nút mặc định Đặt nút 4 được chọn. Lưu ý rằng sẽ chỉ có bốn nút nếu nút trợ giúp được bao gồm trong vbAbortRetryIgnore hoặc vbYesNoCancel.
vbApplicationModal 4 Phương thức Không thể truy cập Excel khi nút được hiển thị. Msgbox chỉ được hiển thị khi Excel là ứng dụng đang hoạt động.
vbSystemModal 4 Phương thức Tương tự như vbApplicationModal nhưng hộp thông báo được hiển thị trước tất cả các ứng dụng.
vbMsgBoxHelpButton 5 Khác Thêm nút trợ giúp
vbMsgBoxSetForeground 5 Khác Đặt các cửa sổ hộp thư thành cửa sổ nền trước
vbMsgBoxRight 5 Khác Căn phải văn bản.
vbMsgBoxRtlReading 5 Khác Chỉ định văn bản sẽ xuất hiện dưới dạng đọc từ phải sang trái trên hệ thống tiếng Do Thái và tiếng Ả Rập.
>>> Xem thêm:  Hướng dẫn tạo phím tắt để ẩn, xoá Sheet trong Excel

Tham số các nút được chia thành nhiều nhóm khác nhau:

  • Nhóm 1 quyết định nút nào sẽ sử dụng trên MsgBox
  • Nhóm 2 quyết định biểu tượng nào sẽ sử dụng trên MsgBox
  • Nhóm 3 quyết định nút nào sẽ được chọn theo mặc định khi MsgBox xuất hiện
  • Nhóm 4 quyết định cách MsgBox được hiển thị so với các ứng dụng khác
  • Nhóm 5 quyết định một số cài đặt khác của MsgBox

Ví dụ về cách sử dụng tham số Buttons trong MsgBox: bạn có thể kết hợp nhiều giá trị của tham số này với dấu + giữa các giá trị như sau (dấu _ được sử dụng để nối đoạn mã trên và dưới dòng trong VBA để tạo thành dễ dàng để chúng tôi làm theo. các dòng mã quá dài). Đối với mỗi nhóm, chúng ta chỉ có thể nhận được 1 giá trị.

su-dung-msgbox-in-excel-vba-5
Sử dụng MsgBox trong Excel VBA và các nút. tham số

Kết quả là, chúng tôi nhận được một MsgBox với nút OK, nút Hủy, biểu tượng màu đỏ, nút OK được chọn trước (để nhấn Enter trên bàn phím nhanh chóng) và MsgBox này chỉ được hiển thị khi chương trình Excel được chọn (Như bạn có thể thấy trong hình, cửa sổ File Explorer chồng lên bên phải của hộp thoại MsgBox.)

su-dung-msgbox-in-excel-vba-6
Cách sử dụng MsgBox trong VBA với Buttons. tham số

Nếu bây giờ chúng ta sửa đổi đoạn mã trên một chút như sau:

su-dung-msgbox-in-excel-vba-7

Mã số 3 chỉ khác mã số 2 ở chỗ, thay vì sử dụng vbApplicationModal, chúng tôi sử dụng vbSystemModal, và đây là kết quả:

su-dung-msgbox-in-excel-vba-8
Sử dụng MsgBox trong Excel VBA với vbSystemModal. tham số

Điểm khác biệt ở đây là, MsgBox này sẽ nằm trên tất cả các cửa sổ khác và góc trên bên trái của hộp thoại MsgBox, biểu tượng cũng khác với hộp thoại MsgBox trong ví dụ trước.

>>> Xem thêm:  Đối tượng Worksheet trong Excel VBA

Kiểm tra các giá trị trả về từ MsgBox. hàm số

Khi hộp thoại MsgBox xuất hiện để tương tác với người dùng, bạn muốn biết người dùng đã nhấp vào tùy chọn nào, bạn có thể sử dụng mã sau để kiểm tra điều đó:

su-dung-msgbox-in-excel-vba-8
Mã để kiểm tra nút người dùng chọn trên MsgBox

Tương ứng với lựa chọn của mỗi người dùng, bạn có thể chạy tiếp các mã khác nhau, các mã VBA này, bạn có thể học trong các khóa học VBA với các chuyên gia hàng đầu tại Học Excel Online.

MsgBox có hỗ trợ tiếng Việt có dấu không? Câu trả lời là không, tại sao? Vì Microsoft đã lập trình nó như vậy. Nhưng có cách nào khác không? Câu trả lời là có, bạn có thể đọc bài viết Sử dụng tiếng Việt có dấu với MsgBox VBA

Tất cả mã trong bài viết bạn có thể xem tại Gist:

Nguồn : Blog hocexcel