Initializing a dictionary and then modifying it.
I changed the location of the public declariation and it ran, thanks.
The example code I gave had the mistake of returning a boolean for the
Sub. I was trying to simplify my actual code and made that mistake in
the simplifying... ignore it, its not in the code I have.
-Abe
Bob Phillips wrote:
Three things
The Public declaration of the dictionary object should be in the standard
code module not Thisworkbook (otherwise you need to qualify it).
If you want a procedure to return a value, it should be a function not a
sub.
Why are you adding to the dictionary in the function? Shouldn't you just
return the value?
--
HTH
Bob Phillips
(replace somewhere in email address with gmail if mailing direct)
"Abe" wrote in message
ps.com...
I have a dictionary object which I need to:
1) Create and modify upon opening the workbook (it draws data from the
workbook for its keys and objects)
2) Read and write to in userform and module level code
I haven't used dictionaries before. Can someone point out where I have
gone wrong? It is giving me a Error: Variable not defined at the Module
level code.
What follows isn't my actual code, but it should give you an idea of
what I am trying to do.
<This Workbook
'Declarations
Option Explicit
Public dictCornerCellPics
Private Sub Workbook_Open()
Set dictCornerCellPics = CreateObject("scripting.dictionary")
dictCornerCellPics.add "a", worksheets(4).cells(1,2)
dictCornerCellPics.add "b", worksheets(4).cells(2,2)
...etc....
End Sub
</This Workbook
<module code
Public Sub MakeCorners (strng as String) as Boolean
dictCornerCellPics.add strng, worksheets(3).cells(1,1)
...etc....
MakeCorners = dictCornerCellPics.exists("a")
End Sub
</module code
Thanks in advance, (someday, in a galaxy far far away, I'll be able to
end a post with HTH...)
-Abe
|