Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
MsgBox basics
Hi Guys
Please help. I am obviously failing to understand something very basic about MsgBox syntax. I have only previously used this function to give simple messages to the user, and provide a single (default) OK button: E.g. MsgBox "Your time has expired" I want to add more buttons in due course (Yes, No, etc) but, for now, was just trying to customise the title (caption) of the the message box: MsgBox ("Your time has expired",vbOKOnly,"Time expiry notification") produces a compile error ("expected: =") and I can't make sense of the Help associated. I am not including any Help/Context, so have left those options blank I have tried assigning the message and Title as strings Dim Msg As String Dim Title As String Msg = "Your time has expired" Title = "Time expiry notification" MsgBox (Msg, vbOKOnly, Title) but to no avail.. And MsgBox (Msg, vbOKOnly, Title, , ,) just produces another type of 'expected' compile error Thanks, Phil PS. Once I have sorted the syntax, I should be able to use 0 instead of vbOKOnly, 1 for vbOKCancel, etc. Right? |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
MsgBox basics
Phil
Just delete the brackets ... worked for me Nick "Phil C" wrote: Hi Guys Please help. I am obviously failing to understand something very basic about MsgBox syntax. I have only previously used this function to give simple messages to the user, and provide a single (default) OK button: E.g. MsgBox "Your time has expired" I want to add more buttons in due course (Yes, No, etc) but, for now, was just trying to customise the title (caption) of the the message box: MsgBox ("Your time has expired",vbOKOnly,"Time expiry notification") produces a compile error ("expected: =") and I can't make sense of the Help associated. I am not including any Help/Context, so have left those options blank I have tried assigning the message and Title as strings Dim Msg As String Dim Title As String Msg = "Your time has expired" Title = "Time expiry notification" MsgBox (Msg, vbOKOnly, Title) but to no avail.. And MsgBox (Msg, vbOKOnly, Title, , ,) just produces another type of 'expected' compile error Thanks, Phil PS. Once I have sorted the syntax, I should be able to use 0 instead of vbOKOnly, 1 for vbOKCancel, etc. Right? |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
MsgBox basics
Phil take out the (), MsgBox "Your time has expired", vbOKOnly, "Time
expiry notification" or just MsgBox "Your time has expired", , "Time expiry notification" and for yes no cancel use something like this Sub Message_box_test() Msg = "Put message here" Title = "Put title here" Response = MsgBox(Msg, vbYesNoCancel + vbQuestion, Title) If Response = vbNo Then 'your code if no is clicked here MsgBox "you clicked no" Exit Sub ' Quit the macro End If If Response = vbCancel Then 'your code if Cancel is clicked here MsgBox "You clicked cancelled" Exit Sub ' Quit the macro End If 'your code if Yes is clicked here MsgBox "you clicked yes" End Sub -- Paul B Always backup your data before trying something new Please post any response to the newsgroups so others can benefit from it Feedback on answers is always appreciated! Using Excel 2002 & 2003 "Phil C" wrote in message ... Hi Guys Please help. I am obviously failing to understand something very basic about MsgBox syntax. I have only previously used this function to give simple messages to the user, and provide a single (default) OK button: E.g. MsgBox "Your time has expired" I want to add more buttons in due course (Yes, No, etc) but, for now, was just trying to customise the title (caption) of the the message box: MsgBox ("Your time has expired",vbOKOnly,"Time expiry notification") produces a compile error ("expected: =") and I can't make sense of the Help associated. I am not including any Help/Context, so have left those options blank I have tried assigning the message and Title as strings Dim Msg As String Dim Title As String Msg = "Your time has expired" Title = "Time expiry notification" MsgBox (Msg, vbOKOnly, Title) but to no avail.. And MsgBox (Msg, vbOKOnly, Title, , ,) just produces another type of 'expected' compile error Thanks, Phil PS. Once I have sorted the syntax, I should be able to use 0 instead of vbOKOnly, 1 for vbOKCancel, etc. Right? |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
MsgBox basics
Thanks guys
I thought it would be someting simple, but not exactly obvious from MS help. I will also try William's macro for my further education..! Phil "Paul B" wrote in message ... Phil take out the (), MsgBox "Your time has expired", vbOKOnly, "Time expiry notification" or just MsgBox "Your time has expired", , "Time expiry notification" and for yes no cancel use something like this Sub Message_box_test() Msg = "Put message here" Title = "Put title here" Response = MsgBox(Msg, vbYesNoCancel + vbQuestion, Title) If Response = vbNo Then 'your code if no is clicked here MsgBox "you clicked no" Exit Sub ' Quit the macro End If If Response = vbCancel Then 'your code if Cancel is clicked here MsgBox "You clicked cancelled" Exit Sub ' Quit the macro End If 'your code if Yes is clicked here MsgBox "you clicked yes" End Sub -- Paul B Always backup your data before trying something new Please post any response to the newsgroups so others can benefit from it Feedback on answers is always appreciated! Using Excel 2002 & 2003 "Phil C" wrote in message ... Hi Guys Please help. I am obviously failing to understand something very basic about MsgBox syntax. I have only previously used this function to give simple messages to the user, and provide a single (default) OK button: E.g. MsgBox "Your time has expired" I want to add more buttons in due course (Yes, No, etc) but, for now, was just trying to customise the title (caption) of the the message box: MsgBox ("Your time has expired",vbOKOnly,"Time expiry notification") produces a compile error ("expected: =") and I can't make sense of the Help associated. I am not including any Help/Context, so have left those options blank I have tried assigning the message and Title as strings Dim Msg As String Dim Title As String Msg = "Your time has expired" Title = "Time expiry notification" MsgBox (Msg, vbOKOnly, Title) but to no avail.. And MsgBox (Msg, vbOKOnly, Title, , ,) just produces another type of 'expected' compile error Thanks, Phil PS. Once I have sorted the syntax, I should be able to use 0 instead of vbOKOnly, 1 for vbOKCancel, etc. Right? |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
MsgBox basics
First, you should use the named constants i.e. vbOKOnly etc., instead of
numeric values as this makes your code more readable. The problem is: If you are not interested in what key users clicked, the arguments of the MsgBox function are NOT included in round brackets. If you have included the arguments in round brackets, the result is not transparently sunk i.e you need to assign the result to a variable e.g resp = MsgBox("Message",vbOkOnly) or use CALL, e.g Call MsgBox("Message",vbOkOnly) Strangely, if you have only a single argument within the round brackets, it does not matter whether you are using round brackets or not. "Phil C" wrote: Hi Guys Please help. I am obviously failing to understand something very basic about MsgBox syntax. I have only previously used this function to give simple messages to the user, and provide a single (default) OK button: E.g. MsgBox "Your time has expired" I want to add more buttons in due course (Yes, No, etc) but, for now, was just trying to customise the title (caption) of the the message box: MsgBox ("Your time has expired",vbOKOnly,"Time expiry notification") produces a compile error ("expected: =") and I can't make sense of the Help associated. I am not including any Help/Context, so have left those options blank I have tried assigning the message and Title as strings Dim Msg As String Dim Title As String Msg = "Your time has expired" Title = "Time expiry notification" MsgBox (Msg, vbOKOnly, Title) but to no avail.. And MsgBox (Msg, vbOKOnly, Title, , ,) just produces another type of 'expected' compile error Thanks, Phil PS. Once I have sorted the syntax, I should be able to use 0 instead of vbOKOnly, 1 for vbOKCancel, etc. Right? |
#7
Posted to microsoft.public.excel.programming
|
|||
|
|||
MsgBox basics
Strangely, if you have only a single argument within the round
brackets, it does not matter whether you are using round brackets or not. It does matter. If you enclose the argument to a Sub in parentheses, VBA evaluates it to its actual value and passes it ByVal instead of ByRef. -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "AA2e72E" wrote in message ... First, you should use the named constants i.e. vbOKOnly etc., instead of numeric values as this makes your code more readable. The problem is: If you are not interested in what key users clicked, the arguments of the MsgBox function are NOT included in round brackets. If you have included the arguments in round brackets, the result is not transparently sunk i.e you need to assign the result to a variable e.g resp = MsgBox("Message",vbOkOnly) or use CALL, e.g Call MsgBox("Message",vbOkOnly) Strangely, if you have only a single argument within the round brackets, it does not matter whether you are using round brackets or not. "Phil C" wrote: Hi Guys Please help. I am obviously failing to understand something very basic about MsgBox syntax. I have only previously used this function to give simple messages to the user, and provide a single (default) OK button: E.g. MsgBox "Your time has expired" I want to add more buttons in due course (Yes, No, etc) but, for now, was just trying to customise the title (caption) of the the message box: MsgBox ("Your time has expired",vbOKOnly,"Time expiry notification") produces a compile error ("expected: =") and I can't make sense of the Help associated. I am not including any Help/Context, so have left those options blank I have tried assigning the message and Title as strings Dim Msg As String Dim Title As String Msg = "Your time has expired" Title = "Time expiry notification" MsgBox (Msg, vbOKOnly, Title) but to no avail.. And MsgBox (Msg, vbOKOnly, Title, , ,) just produces another type of 'expected' compile error Thanks, Phil PS. Once I have sorted the syntax, I should be able to use 0 instead of vbOKOnly, 1 for vbOKCancel, etc. Right? |
#8
Posted to microsoft.public.excel.programming
|
|||
|
|||
MsgBox basics
By "it does not matter" I implied that there is no compile error when MsgBox
has a single argument wrapped in round brackets and its return value is neither assigned not sunk by CALL. "Chip Pearson" wrote: Strangely, if you have only a single argument within the round brackets, it does not matter whether you are using round brackets or not. It does matter. If you enclose the argument to a Sub in parentheses, VBA evaluates it to its actual value and passes it ByVal instead of ByRef. -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "AA2e72E" wrote in message ... First, you should use the named constants i.e. vbOKOnly etc., instead of numeric values as this makes your code more readable. The problem is: If you are not interested in what key users clicked, the arguments of the MsgBox function are NOT included in round brackets. If you have included the arguments in round brackets, the result is not transparently sunk i.e you need to assign the result to a variable e.g resp = MsgBox("Message",vbOkOnly) or use CALL, e.g Call MsgBox("Message",vbOkOnly) Strangely, if you have only a single argument within the round brackets, it does not matter whether you are using round brackets or not. "Phil C" wrote: Hi Guys Please help. I am obviously failing to understand something very basic about MsgBox syntax. I have only previously used this function to give simple messages to the user, and provide a single (default) OK button: E.g. MsgBox "Your time has expired" I want to add more buttons in due course (Yes, No, etc) but, for now, was just trying to customise the title (caption) of the the message box: MsgBox ("Your time has expired",vbOKOnly,"Time expiry notification") produces a compile error ("expected: =") and I can't make sense of the Help associated. I am not including any Help/Context, so have left those options blank I have tried assigning the message and Title as strings Dim Msg As String Dim Title As String Msg = "Your time has expired" Title = "Time expiry notification" MsgBox (Msg, vbOKOnly, Title) but to no avail.. And MsgBox (Msg, vbOKOnly, Title, , ,) just produces another type of 'expected' compile error Thanks, Phil PS. Once I have sorted the syntax, I should be able to use 0 instead of vbOKOnly, 1 for vbOKCancel, etc. Right? |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
DSUM Basics | Excel Discussion (Misc queries) | |||
basics? | New Users to Excel | |||
VBA form basics | Excel Programming | |||
Excel VBA basics | Excel Programming | |||
Help with the basics. Starting out. | Excel Programming |