Single Digit Entry
I have three separate cells defined as hundreds, tens and ones. I have
data validation set to only allow values between 0 and 9. Is there any way to go to the next cell after a digit has been entered, without pressing ENTER, TAB or Right Arrow? (i.e. Press "7" on numeric keypad on tens cell, automatically go to ones field.) |
Single Digit Entry
Hi Paul
not really possible. Harlan Grove posted some time ago a procedure using API calls, etc. Problem is: Macros are not executed while you're in edit mode. So you have to hit ENTER or TAB -- Regards Frank Kabel Frankfurt, Germany Paul S Panoff wrote: I have three separate cells defined as hundreds, tens and ones. I have data validation set to only allow values between 0 and 9. Is there any way to go to the next cell after a digit has been entered, without pressing ENTER, TAB or Right Arrow? (i.e. Press "7" on numeric keypad on tens cell, automatically go to ones field.) |
Single Digit Entry
Paul
When you are typing data in a cell you are in <ENTER mode. Excel has no way of knowing what is in a cell until you leave that cell by Enter, TAB or arrowing out. In short.....NO. Gord Dibben Excel MVP On Tue, 20 Apr 2004 14:48:38 -0400, Paul S Panoff wrote: I have three separate cells defined as hundreds, tens and ones. I have data validation set to only allow values between 0 and 9. Is there any way to go to the next cell after a digit has been entered, without pressing ENTER, TAB or Right Arrow? (i.e. Press "7" on numeric keypad on tens cell, automatically go to ones field.) |
Single Digit Entry
There is a somewhat cumbersome way of doing this. You have to define a
OnKey procedure for each of the numbers. For example, the following will cause the active cell to change as soon as someone types the number 7. Run the testOnKey procedure to enable the automatic change to the active cell. The resetOnKey will return the functionality of the 7 key to its default status. The OnKeySub does the actual work. Sub testOnKey() Application.OnKey "7", "OnKeySub" End Sub Sub resetOnKey() Application.OnKey "7" End Sub Sub OnKeySub() ActiveCell.Value = 7 ActiveCell.Offset(0, 1).Select End Sub At the very least you will have to set the OnKey procedure for each of the numeric keys. Combine that with validation for non-numeric values. Alternatively, you will have to define the OnKey procedure for *every* keystroke. And, you can skip the validation stuff. -- Regards, Tushar Mehta www.tushar-mehta.com Business solutions leveraging technology Microsoft Most Valuable Professional (MVP) 2000-2004 In article , says... I have three separate cells defined as hundreds, tens and ones. I have data validation set to only allow values between 0 and 9. Is there any way to go to the next cell after a digit has been entered, without pressing ENTER, TAB or Right Arrow? (i.e. Press "7" on numeric keypad on tens cell, automatically go to ones field.) |
Single Digit Entry
Tushar
I must learn to never say "never"<g Gord On Tue, 20 Apr 2004 16:52:30 -0400, Tushar Mehta <tm_200310@tushar_hyphen_mehta_dot_see_oh_em wrote: There is a somewhat cumbersome way of doing this. You have to define a OnKey procedure for each of the numbers. For example, the following will cause the active cell to change as soon as someone types the number 7. Run the testOnKey procedure to enable the automatic change to the active cell. The resetOnKey will return the functionality of the 7 key to its default status. The OnKeySub does the actual work. Sub testOnKey() Application.OnKey "7", "OnKeySub" End Sub Sub resetOnKey() Application.OnKey "7" End Sub Sub OnKeySub() ActiveCell.Value = 7 ActiveCell.Offset(0, 1).Select End Sub At the very least you will have to set the OnKey procedure for each of the numeric keys. Combine that with validation for non-numeric values. Alternatively, you will have to define the OnKey procedure for *every* keystroke. And, you can skip the validation stuff. |
Single Digit Entry
Hi Gord,
In article , Gord Dibben <gorddibbATshawDOTca says... Tushar I must learn to never say "never"<g Maybe, but the solution I proposed is sufficiently clumsy that it might be better to say "never." <g -- Regards, Tushar Mehta www.tushar-mehta.com Excel, PowerPoint, and VBA add-ins, tutorials Custom MS Office productivity solutions In article , Gord Dibben <gorddibbATshawDOTca says... Tushar I must learn to never say "never"<g Gord On Tue, 20 Apr 2004 16:52:30 -0400, Tushar Mehta <tm_200310@tushar_hyphen_mehta_dot_see_oh_em wrote: There is a somewhat cumbersome way of doing this. You have to define a OnKey procedure for each of the numbers. For example, the following will cause the active cell to change as soon as someone types the number 7. Run the testOnKey procedure to enable the automatic change to the active cell. The resetOnKey will return the functionality of the 7 key to its default status. The OnKeySub does the actual work. Sub testOnKey() Application.OnKey "7", "OnKeySub" End Sub Sub resetOnKey() Application.OnKey "7" End Sub Sub OnKeySub() ActiveCell.Value = 7 ActiveCell.Offset(0, 1).Select End Sub At the very least you will have to set the OnKey procedure for each of the numeric keys. Combine that with validation for non-numeric values. Alternatively, you will have to define the OnKey procedure for *every* keystroke. And, you can skip the validation stuff. |
Single Digit Entry
Hi, how should i understand "userform module" and "general module". Please help me. Allan
|
All times are GMT +1. The time now is 06:31 PM. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com