Solved

Alternative to Application.SendKeys "Esc" as it is turning off/On num lock in the VBA

Posted on 2015-02-11
17
495 Views
Last Modified: 2016-02-10
Hi Experts,
I am using Application.SendKeys "Esc", True

in VBA code which works fine only issue is it automatically turns On & off Num Lock.

I have searched the net and found we should avoid sendkeys. Is there any alternative to this or any workaround ?

Looking forward to hearing frmo you.
0
Comment
Question by:satmisha
  • 8
  • 4
  • 3
  • +2
17 Comments
 
LVL 48

Expert Comment

by:Rgonzo1971
ID: 40603106
Hi,

this has been covered by MS-Support

http://support2.microsoft.com/kb/179987/en-us

Regards
0
 
LVL 85

Expert Comment

by:Rory Archibald
ID: 40603168
Why do you need to send the Esc key in your code?
0
 

Author Comment

by:satmisha
ID: 40603400
I am inserting value in a cell from the popup which works fine but my cursor\pointer stays inside the cell and in order to take the cursor out of that cell I need to press esc key from keyboard.

I want to automate that by itself by using sendkeys but that leads me to another problem of num lock.

Please feel free to let me know you need more information.
0
 
LVL 85

Expert Comment

by:Rory Archibald
ID: 40603554
I'm not clear what you mean by "I am inserting value in a cell from the popup". What popup?
0
 
LVL 31

Expert Comment

by:Rob Henson
ID: 40603601
If you do need to go down the SendKeys route, pressing Esc will cancel entry in the cell; surely you need to press Enter.

Thanks
Rob H
0
 

Author Comment

by:satmisha
ID: 40603666
Thanks for your reply.

Apologies for confusion, I am taking values from user form to sheet. When value comes in a cell the focus\cursor remains inside the cell in order to take the cursor\focus out of the cell or on the cell I need to press Esc key.

Want to automate the manual way of doing Esc key, so I used
application.SendKeys "Esc",True
Snippet but it took me to the another problem of num lock on and off.

Requirement:
Is there a way other than sendkeys to simulate Esc key in VBA ? if yes then what I have to do.


I hope this would clear my requirement. Please feel free if you require any other info.
0
 
LVL 47

Expert Comment

by:Wayne Taylor (webtubbs)
ID: 40604630
How are you "taking values from user form to sheet"? If you use something like this....

    Worksheets("Sheet1").Range("A1").Value = TextBox1.Text

...the cell does not receive focus.
0
 

Author Comment

by:satmisha
ID: 40605169
I am using

On the user form I am using:
 ActiveCell.value = cmbTiger.value
and on the Worksheet_BeforeDoubleClick event I am using this to take the cursor from the cell
 Application.SendKeys "{ESC}", True
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 85

Expert Comment

by:Rory Archibald
ID: 40605184
I'm baffled as to why you need Esc. That line of code would not put the cell in edit mode, so what exactly do you mean by "take the cursor from the cell"?
0
 
LVL 47

Expert Comment

by:Wayne Taylor (webtubbs)
ID: 40605217
In the BeforeDoubleClick event, use this after any other code....

    Cancel = True

Wayne
0
 

Author Comment

by:satmisha
ID: 40605220
I have tried cancel = True but it didnt work.

Rory Archibald : "take the cursor from the cell"?
It means that my cursor stays inside the cell and if i try to navigate up or down i can not unless untill I press escape key to bring down the focus on the active cell.
0
 
LVL 85

Expert Comment

by:Rory Archibald
ID: 40605252
Can you post a workbook showing what you mean? I cannot fathom what your actual problem is currently as nothing you have posted indicates a need to press Esc.
0
 

Author Comment

by:satmisha
ID: 40605260
Thanks Rory for your time, I do agree with you and will send that today evening.
0
 

Author Comment

by:satmisha
ID: 40607585
Apologies for late reply.
1. In the worksheet before double click event use following line
userForm. Show
2. In user Form button click use use
activeCell. Value="aa"
Me.hide

You would see when control comes on worksheet than cursor remain inside the cell rather on the cell.
0
 

Author Comment

by:satmisha
ID: 40607590
In order to take the cursor our of the cell I need to use .sendkeys "esc" which in turn off\on num lock
0
 
LVL 47

Accepted Solution

by:
Wayne Taylor (webtubbs) earned 500 total points
ID: 40607597
Cancel = True in the BeforeDoubleClick event does exactly what you want.
0
 

Author Closing Comment

by:satmisha
ID: 40613845
Thanks it is working.
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Workbook link problems after copying tabs to a new workbook? David Miller (dlmille) Intro Have you either copied sheets to a new workbook, and after having saved and opened that workbook, you find that there are links back to the original sou…
Modern/Metro styled message box and input box that directly can replace MsgBox() and InputBox()in Microsoft Access 2013 and later. Also included is a preconfigured error box to be used in error handling.
Viewers will learn the basics of slicers and timelines for both PivotTables and standard Excel tables in Excel 2013.
Graphs within dashboards are meant to be dynamic, representing data from a period of time that will change each time the dashboard is updated with new data. Rather than update each graph to point to a different set within a static set of data, t…

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now