How to programmatically set a focus on the selected cell?

J

Jack

Hi,
Using Excel automation, how to set a focus (rectangle around the cell)
, by specifying Column No and Row No.?
Thanks,
Jack
 
J

Jim Cone

Providing you have a properly declared worksheet object then...
WS.Cells(Rw, Col).Select
Rw is the row number and Col is the Column number and both
should be a Long.

Also, you do not need to Select in order to "work" on a cell, just
use the reference... WS.Cells(69, 11).Value = "Mush"
--
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware



Hi,
Using Excel automation, how to set a focus (rectangle around the cell)
, by specifying Column No and Row No.?
Thanks,
Jack
 
J

Jack

Thank you.
However, when I do that the
moExcelApp_SheetSelectionChange is invoked.
How can I do that (setting the focus) without invoking that function?
Jack
 
J

Jack

reversing my original question:
How to remove programmatically focus (rectangle) from the cell?
Jack
 
J

Jim Cone

Again ...
You don't have to select the cell. Also, you do not have to
select the sheet. WS.Cells(69, 11).Value = "Mush" will work from
almost anywhere. No selection then no selection change event occurs.

However, to prevent events from occurring use
moExcelApp.EnableEvents = False.
Events remain off until reset to True by your code.
--
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware



Thank you.
However, when I do that the
moExcelApp_SheetSelectionChange is invoked.
How can I do that (setting the focus) without invoking that function?
Jack
 
J

Jack

Thank you very much
This works for me:
moExcelApp.EnableEvents = False
moExcelApp.Cells(CurrentRow, CurrentCol).Select
moExcelApp.EnableEvents = True

I do not understand the first part:
When I tried:
moExcelApp.Cells(69,11).Value = "Mush"
the event moExcelApp_SheetChange is fired.
Jack
 
D

Dave Peterson

You can turn off event handling before you make the change, then make the
changes, then turn the event handling back on.

moExcelApp.EnableEvents = False
moExcelApp.Cells(69,11).Value = "Mush"
moExcelApp.EnableEvents = True
 
D

Dave Peterson

Something has to be selected. You could select a different range (out of the
visible area???) or select an object.

But I think Jim's point was that if you don't include .select's in your code,
you don't have to worry about going back to where you started.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top