P
Paige
Have code (see below) where if user enters something in Cell O68, it puts the
same value in D21 and forces the cursor to remain at Cell O68 after cell
entry (in case they want to enter something else). The problem is that only
specific cells in the sheet are unlocked, so when the user enters a value in
O68, Excel goes to the next unlocked cell (which is A3) then back to O68 (the
target). This causes the screen position to move slightly; i.e., if the top
row before entry is 65, after the code runs, it always moves the screen so
the top row is 47. I need the screen to stay in the same spot. Have tried
all manner of screen updating = false and also changing the code so that
after entry the cursor doesn't move, but it still affects the screen
position. It's not that the screen is moving back and forth (as when screen
updating is true), but only that it is adjusting the scroll position
so-to-speak.
Can someone advise me what I'm doing wrong, or if there is a way to capture
the specific position of the screen before entry, so I can then return the
user to that spot after entry?
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("O68")) Is Nothing Then
Range("D21").Value = Range("O68").Value
Target.Select
End If
End Sub
same value in D21 and forces the cursor to remain at Cell O68 after cell
entry (in case they want to enter something else). The problem is that only
specific cells in the sheet are unlocked, so when the user enters a value in
O68, Excel goes to the next unlocked cell (which is A3) then back to O68 (the
target). This causes the screen position to move slightly; i.e., if the top
row before entry is 65, after the code runs, it always moves the screen so
the top row is 47. I need the screen to stay in the same spot. Have tried
all manner of screen updating = false and also changing the code so that
after entry the cursor doesn't move, but it still affects the screen
position. It's not that the screen is moving back and forth (as when screen
updating is true), but only that it is adjusting the scroll position
so-to-speak.
Can someone advise me what I'm doing wrong, or if there is a way to capture
the specific position of the screen before entry, so I can then return the
user to that spot after entry?
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("O68")) Is Nothing Then
Range("D21").Value = Range("O68").Value
Target.Select
End If
End Sub