Nguyễn Thế Trung
Nguyễn Thế Trung
Thảo luận 1 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 196 lượt xem

Khi sử dụng hàm MsgBox() có trường hợp hàm sẽ báo lỗi nếu không có cặp

Khi sử dụng hàm MsgBox(), có trường hợp hàm sẽ báo lỗi nếu không có cặp dấu ngoặc, trường hợp khác thì lại không báo lỗi. Ví dụ:

Sub click_to_quit_program()
Dim my_case As VbMsgBoxResult
Dim buttons As VbMsgBoxStyle
Dim title As String
Dim prompt As String

buttons = vbYesNoCancel + vbQuestion + vbDefaultButton1
title = "VBA Testing program"
prompt = "Do you wan to quit the program?"
my_case = MsgBox(prompt, buttons, title) >>>nếu bỏ dấu cặp dấu ngoặc ở đây, chương trình sẽ báo lỗi<<<

If my_case = vbYes Then
MsgBox "You choose Yes button.", vbInformation, title >>>chương trình chạy bình thường dù không có cặp dấu ngoặc<<<
ElseIf my_case = vbNo Then
MsgBox "You choose No button.", vbCritical, title
ElseIf my_case = vbCancel Then
MsgBox "You choose Cancel button.", vbExclamation, title
End If
End Sub

Mong giảng viên giải thích giúp em. Em cám ơn.
Thảo luận 1 câu trả lời
Lượt xem 196 lượt xem
Vỗ tay vỗ tay
Nguyễn Thế Trung 01:03 - Mar 31, 2020
trường hợp dùng dấu ngoặc cho msgbox là khi bạn gọi msgbox sau dấu bằng. Khi đó msgbox có tính chất giống như 1 hàm (hoặc gán biến cho msgbox đó).
Cách viết: A = Msgbo(...)
Còn dùng msgbox dạng thường là không có phần A= mà chỉ có duy nhất dòng code msgbox .... thôi.
Về bản chất triển khai thì msgbox vẫn vậy, nhưng khác là vị trí đặt msgbox.
Thường dùng msgbox(...) là khi bạn muốn xét trường hợp msgbox có gắn thêm button là Yes/No.
Muốn xét khi chọn nút Yes hay No trên msgbox thì gán biến cho đối tượng msgbox đó.
Khi xét MsgBox(prompt, buttons, title) = vbYes thì sẽ làm gì, khi vbNo thì làm gì.
Vỗ tay vỗ tay
Câu hỏi liên quan
© 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
Giấy phép mạng xã hội số: 588, cấp bởi Bộ Thông tin và Truyền thông