Okay, I stand corrected <vbg.
John has explained why you might be getting an error, but you might also
consider an alternative. Instead of having the user select a range and then
activating the DLL, you could invoke the DLL, and then use
Application.InputBox with a Type argument of 8, so the user can then select
a range, and you can reference that. Just a thought.
--
HTH
Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)
"Oscar" wrote in message
. nl...
I've written a VB Active-X dll that exposes methods which are called
within
the VBA macros in a Excel worksheet. I've done that in order to protect
the
source and to gain speed since compiled active-X dll are faster than VBA
internal codes. Up to now I've been able to adress anything that I needed
by
referencing to the Excel.worksheet object. I have even been able to
reference controls such as comboboxes on top of the Excel worksheet by the
dll. Now I need to do some processing with selections made by the user in
this way :
user makes a range selection.
user activates a macro by pressing F8 (this macro calls the processing
routine within a class within the Active-X dll)
the class method performs the processing within the range that was
selected
by the user.
Oscar
"Bob Phillips" schreef in bericht
...
Oscar,
To reference the selection, you will need to select something. This
means
that a workbook will need to be activated, as will a worksheet, and a
range
will need to be selected.
However, it is rarely necessary to select in Excel VBA, let alone VB.
What
exactly are you trying to do?
--
HTH
Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)
"Oscar" wrote in message
. nl...
John,
yes, that's the case. I am able to reference the selection in this
way,
but
I can't adress any members such as .row or .rows inside the
'selection'
method, The VB IDE doesn't show them and in case I write
oxlWkb.Application.Selection.Row or
oxlWkb.Application.Selection.Rows or
oxlWkb.Application.Selection.Range
the compiler fires an error in runtime. Could you please explain what
I
need
to do after the oxlWkb.Application.Selection statement in order to
find
out
the row numbers of the toprow and bottomrow.
regards,
Oscar
"John Green" schreef in bericht
...
Oscar,
Are you saying that you are writing code in VB (not VBA) and that
you
have
an object variable referring to an active Excel workbook
(say oxlWkb)? If so, one way to refer to the current selection is:
oxlWkb.Application.Selection
--
John Green - Excel MVP
Sydney
Australia
"Oscar" wrote in message
.nl...
In a VB application, I am referencing an Excel workbook. I need to
know
the
row number of the toprow and bottomrow of any range selection.
Therefore
I
want to use the selection object. However, the 'selection' object
is
not
available for the Excel.worksheet method and is only available for
the
Excel.application and it doesn't show any method after selection.
For
example I can't use selection.rows. How can I change this ?
Oscar