When calling a function, make sure you use parentheses. Also, you are not soliciting a vbYes from the user. Just a vbOK or vbCancel.
** It's a personal preference, but when I call a function that is overloaded as a method, I try to always still call it as a function.
Private Sub Command2_Click()
Dim iResponse As Integer
iResponse = MsgBox[B]([/B]"Have a gala shopping", vbOKCancel + vbInformation + vbDefaultButton1, "welcome to the superMarket"[B])[/B]
If iResponse = vbOK Then