Thủ Thuật

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

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

MsgBox cơ bản nhất

Một MsgBox trong Excel VBA hoàn toàn có thể được tạo ra trong trình soạn thảo code VBA của Excel như sau :
Chạy đoạn code trên trong Excel VBA, tất cả chúng ta sẽ nhật được hiệu quả như sau :

su-dung-msgbox-trong-excel-vba-2

Mặc định thì tiêu đề ( tham số title sẽ được nói tới trong đoạn dưới ) của hộp thoại MsgBox trong Excel sẽ có chữ “ Microsoft Excel ”. Chúng ta hoàn toàn có thể biến hóa tiêu đề này bằng cách sửa đoạn code trên như sau :

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

Ở phần trước, nếu những bạn chỉ sử dụng MsgBox trong Excel VBA như một hộp thoại thông tin, thì mình tin là đã đủ những gì “ thiết yếu phải có ở mức tối thiểu ” rồi, trong phần này, tất cả chúng ta sẽ đề cập đến những đoạn code sẽ giúp tất cả chúng ta kiểm soát và điều chỉnh được MsgBox theo ý muốn .
Trong VBA, khi bạn khởi đầu viết “ MsgBox ” trong 1 Sub, thì trình soạn thảo VBA sẽ gợi ý cho bạn những tham số mà MsgBox nhận như sau :
Các bạn chú ý, ở đây prompt, buttons, title, helpfile, context là những tham số của MsgBox, những tham số không ở trong dấu ngoặc vuông là những tham số bắt buộc ( prompt ) ; những tham số ở trong dấu ngoặc vuông ( buttons, title, helpfile, context ) là những tham số không bắt buộc .
Trong phần cơ bản của bài viết, bạn đã làm quen với tham số prompt và title của MsgBox, trong phần này, tất cả chúng ta sẽ đi khám phá những tham số tiếp theo là tham số Buttons .
Tham số helpfile và context rất hiếm khi tất cả chúng ta phải sử dụng tới, nên sẽ được trình diễn ở một bài viết nâng cao khác .
Phần “ As VbMsgBoxResult ” là giá trị trả về của hàm MsgBox khi người dùng bấm nút trên hộp thoại MsgBox .

Tham số Buttons

Tham số Buttons của MsgBox nhận những giá trị sau đây

Giá trị Nhóm Kiểu Miêu tả
vbOKOnly 1 Buttons Ok button.
vbOKCancel 1 Buttons Ok and cancel buttons.
vbAbortRetryIgnore 1 Buttons Abort, Retry and Ignore buttons.
vbYesNoCancel 1 Buttons Yes, No and Cancel buttons.
vbYesNo 1 Buttons Yes and No buttons.
vbRetryCancel 1 Buttons Retry and Cancel buttons.
vbCritical 2 Icon Critical Message icon.
vbQuestion 2 Icon Warning Query icon.
vbExclamation 2 Icon Warning Message icon.
vbInformation 2 Icon Information Message icon.
vbDefaultButton1 3 Default button Set button 1 to be selected.
vbDefaultButton2 3 Default button Set button 2 to be selected.
vbDefaultButton3 3 Default button Set button 3 to be selected.
vbDefaultButton4 3 Default button Set button 4 to be selected. Note that there will only be four buttons if the help button is included with vbAbortRetryIgnore or vbYesNoCancel.
vbApplicationModal 4 Modal Cannot access Excel while the button is displayed. Msgbox is only displayed when Excel is the active application.
vbSystemModal 4 Modal Same as vbApplicationModal but the message box is displayed in front of all applications.
vbMsgBoxHelpButton 5 Other Adds a help button
vbMsgBoxSetForeground 5 Other Sets the message box windows to be the foreground window
vbMsgBoxRight 5 Other Right aligns the text.
vbMsgBoxRtlReading 5 Other Specifies text should appear as right-to-left reading on Hebrew and Arabic systems.

Tham số Buttons được chia ra làm nhiều nhóm khác nhau :

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

Ví dụ sử dụng tham số Buttons trong MsgBox : bạn hoàn toàn có thể phối hợp nhiều giá trị của tham số này bằng dấu + giữa những giá trị như sau ( dấu _ để nối code dòng trên và dòng dưới trong VBA giúp tất cả chúng ta dễ theo dõi những dòng code bị dài quá ). Với mỗi nhóm, tất cả chúng ta chỉ được lấy ra 1 giá trị .
Kết quả tất cả chúng ta nhận được một MsgBox có nút OK, nút Cancel, hình tượng màu đỏ, nút OK được chọn sẵn ( để bấm Enter trên bàn phím cho nhanh ), và MsgBox này chỉ hiển thị khi chương trình Excel đang được chọn ( Như bạn thấy trong hình, hành lang cửa số File Explorer đè lên phía bên phải của hộp thoại MsgBox )
Nếu giờ đây tất cả chúng ta sửa lại đoạn code phía trên một chút ít như sau :

su-dung-msgbox-trong-excel-vba-7

Đoạn code số 3 chỉ khác đoạn code số 2 ở chỗ, thay vì dùng vbApplicationModal, thì tất cả chúng ta dùng vbSystemModal, và đây là hiệu quả :
Sự khác nhau ở đây là, MsgBox này sẽ ở trên hàng loạt những hành lang cửa số khác và phía góc trên bên trái của hộp thoại MsgBox, hình tượng cũng khác với hộp thoại MsgBox ở ví dụ trước .

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

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

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

MsgBox có tương hỗ tiếng Việt có dấu không ? Câu vấn đáp là không, vì sao ? Vì Microsoft lập trình ra như vậy rồi. Nhưng có cách nào khác không ? Câu vấn đáp là có, bạn hoàn toàn có thể đọc bài Sử dụng tiếng việt có dấu với MsgBox VBA
Toàn bộ những đoạn code trong bài những bạn hoàn toàn có thể xem tại Gist :
View the code on Gist.

Những bài viết liên quan

Nút quay lại đầu trang