ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   How to get from inside a VB macro the currently marked cell? (https://www.excelbanter.com/excel-discussion-misc-queries/243823-re-how-get-inside-vbulletin-macro-currently-marked-cell.html)

Claudia d'Amato

How to get from inside a VB macro the currently marked cell?
 
Both suggested commands do NOT work.
If I use them e.g. in a command like:

Set baseCell = ActiveSheet.Range(Activecell)

or

Set baseCell = ActiveSheet.Range(Selection.cells(1))

then Excel crashes with the following popup:

"Run-time error '1004':
Application defined of object-defined error"

What's wrong?

Other possibilities of getting the currently marked cell?

Claudia

Maybe

Activecell
or
Selection.cells(1)

Claudia d'Amato wrote:

Assume I have opened a worksheet and marked exactly one cell (e.g. D47).

Now I want to run a VB macro. How can I find out from inside this macro
which cell is currently marked in the current worksheet?

This should look similar to:

Set baseCell = ActiveSheet.Range(getcurrentlymarkedcell())

Obviously "getcurrentlymarkedcell()" does not exists. Which function can I use instead?

If the user accidentially marked a range of cells instead of a single cell then only the
first/upper+leftmost cell should be returned.

Claudia


--

Dave Peterson


Dave Peterson

How to get from inside a VB macro the currently marked cell?
 
Set baseCell = Activecell
or
Set baseCell = Selection.cells(1)

=====
When you do this:
Set baseCell = ActiveSheet.Range(Activecell)
it's the equivalent of:
Set baseCell = ActiveSheet.Range(Activecell.value)

If the value in the activecell looks like an address (B5 or 3:8 or x:z), then
it'll work--but probably(!) not what you want.

If the value in the activecell is anything else (a number, a string, an error,
....), then it'll fail.

Claudia d'Amato wrote:

Both suggested commands do NOT work.
If I use them e.g. in a command like:

Set baseCell = ActiveSheet.Range(Activecell)

or

Set baseCell = ActiveSheet.Range(Selection.cells(1))

then Excel crashes with the following popup:

"Run-time error '1004':
Application defined of object-defined error"

What's wrong?

Other possibilities of getting the currently marked cell?

Claudia

Maybe

Activecell
or
Selection.cells(1)

Claudia d'Amato wrote:

Assume I have opened a worksheet and marked exactly one cell (e.g. D47).

Now I want to run a VB macro. How can I find out from inside this macro
which cell is currently marked in the current worksheet?

This should look similar to:

Set baseCell = ActiveSheet.Range(getcurrentlymarkedcell())

Obviously "getcurrentlymarkedcell()" does not exists. Which function can I use instead?

If the user accidentially marked a range of cells instead of a single cell then only the
first/upper+leftmost cell should be returned.

Claudia


--

Dave Peterson


--

Dave Peterson


All times are GMT +1. The time now is 10:21 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com