View Single Post
  #7   Report Post  
Posted to microsoft.public.excel.programming
davegb davegb is offline
external usenet poster
 
Posts: 573
Default Object Browser does what?

Thanks for your reply, Tom.
The code works fine now.
I'm clear I don't understand the basics, wish there were a good
reference to learn them. I guess slogging away is the only option, so
I'll continue. Rote memorization has never been my forte, do much
better when there is logic I can learn. And rote memorization is really
hard when there's no complete reference to memorize from!
So I'll just keep relying on the kindness of people here.


Tom Ogilvy wrote:
Range doesn't have an xldown method or property. xldown is a constant used
as an argument to the End Property which the Range object does have.

set rFoundHD = Range("B9")
ActiveSheet.Range(rFoundHd, rFoundHd.End(xlDown)).Select

works for me.

To the best of my knowledge, the Object Browser is largely complete. If one
understands the basics, then it should be a source of help. Obviously, what
works for many may not work for all. If it is a help to you, then use it.
If it is more of a hinderance than a help, then it might not be the right
tool for you.

You are equating activeSheet to worksheet, but the activesheet is not always
a worksheet (It may be a chart as an example) - so it doesn't inherently
have the properties of a worksheet nor is it necessarily the parent of a
range. The parent of a worksheet range is always a worksheet. Sometimes
this parent may be the activesheet.

--
Regards,
Tom Ogilvy

"davegb" wrote in message
oups.com...
I've been told by others that the Object Browser is a useful tool for
figuring out if a given object/method/property exists under another
object/method/property. I haven't found this to be true. For example,
I'm getting an "Object does not support this property or method" error
on this line of code:

ActiveSheet.Range(rFoundHd, rFoundHd.xlDown).Select

I found the "ActiveSheet.Range" in this forum in many examples. When I
got the error, I looked up Range in VBA help, but it doesn't list
"ActiveSheet" as a parent to ".Range". (Of course, there's no way to
look up "ActiveSheet" and see it's children). So it appears that only
some relationships are shown. Is the OB a partial list? If so, it there
a pattern of some kind to tell what's listed and what's not, or is it
just that some objects/methods/properties were missed?

I've also been very confused when the Object Browser lists multiple
examples of the same parent/child relationship, like Range and
Worksheet. Why tell me twice that range is a child of Worksheet? Is it
because, according to Walkenbach, Worksheet can be an object, a
property or a method? I don't know whether to laugh or cry!

There seems to be lots of help for experts in using VBA, and none for
beginners. Walkenbach's book certainly falls into this category. I've
discussed this in an earlier post and accepted this now. But after
several months of working with VBA, I still don't see much use to the
OB if it's not a complete listing. For right now, I feel that if I want
to know if .Range is a child of ActiveSheet, I have to check the OB,
and if I don't find the relationship, I have to check in this NG to
make sure. Pretty tedious! Is this in fact the way to proceed?

In any case, I do appreciate the help I've gotten here. Without it, I'd
certainly be nowwhere with writing all the code I've written!

And btw, any ideas on why I'm getting the error message on that line of
code?