View Single Post
  #10   Report Post  
Posted to microsoft.public.excel.programming
Norman Jones Norman Jones is offline
external usenet poster
 
Posts: 5,302
Default Assignment to constant not permitted

Hi Grace,

The choice of variable names is primarily a matter of choice and personal
preferance.

For me, the main considerations are convenience and readability - readabilty
by me and (possibly) by others.

I (non-uniquely!) tend to prefix a string variable with str as this
immediately informs me (as indeed it informed you!) of the variable type,
thus rendering my code more immediately comprehensible.
As for range variables I tend,inconsistently, to use a rng prefix or
suffix, e.g, Rng, Rng1 or myRng bigRng, copyRng, DestRng etc accoding to
seems most immediately descriptive.
I could continue in similar fashion for other variable types but more
informative (and useful) would be to direct you to look at the approaches of
others who regularly contribute to the Excel newsgroups. In particular,
however, I would direct your attention to Chip Pearson's web
site:http://www.cpearson.com/excel/topic.htm
which is not only replete with useful and informative code but which uses
an idiosyncratic variable naming style which is (imho) a model of clarity.

---
Regards,
Norman



"Grace" wrote in message
...
I assume the strDefault and strTitle is for strings and that there are
analogs for things dimensioned as other types. What do you use for
workbook, long, range, date, etc?

Thanks,
Grace

"Norman Jones" wrote in message
...
Hi Grace,

Change the line: Default = ""
to: strDefault = ""
as this is a VBA reserved name.

It is also highly advisable to head your module with : Option Explicit

and appropriately dim your variables.

If you were to do this, your code might look like this:

Sub Test()
Dim strMessage As String, StrTitle As String, _
StrDefault As String, StrMGR_LONG_NAME As String

strMessage = "ENTER LONG DISPLAY NAME OF WRAP MANAGER"
StrTitle = ""
StrDefault = ""
StrMGR_LONG_NAME = InputBox(strMessage, StrTitle, StrDefault)
Sheets("INPUTS").Range("C11").Value = StrMGR_LONG_NAME

End Sub

---
Regards,
Norman


"Grace" wrote in message
...
I just found an old sample I was trying to adapt for a message box.

But,
in
my new spreadsheet, the macro crashes when I try to run it. It stops on

the
Default command and says "assignment to constant not permitted". What

am
I
forgetting? Here is the macro:

Message = "ENTER LONG DISPLAY NAME OF WRAP MANAGER"
Title = ""
Default = ""
MGR_LONG_NAME = InputBox(Message, Title, Default)
Sheets("INPUTS").Range("C11").Value = MGR_LONG_NAME

Thanks,
Grace