Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 30
Default Direction of entry to a cell

Hi,

I am using the worksheet.selectionchange to skip a column of data, so if the
user enters the column (with a calculation in that is not to be changed) the
column after is selected, cells(target.row,target.column+1). This works
fine, from left to right, but from right to left, it just sticks at the
column you were in.

Is there a way of determining the direction that a cell is entered from? So
i can do +1 or -1 based on this.

TIA

Nathan.
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 449
Default Direction of entry to a cell

Hi Nathan

Why don't you simply lock the column and protect the sheet so that the
column can't be selected ?

Otherwise, sure, just compare to the previous target:

' *********** top of module ****************
Dim PrevTarget As Range

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not PrevTarget Is Nothing Then
If Target(1).Column PrevTarget(1).Column Then
Application.StatusBar = "-"
ElseIf Target(1).Column < PrevTarget(1).Column Then
Application.StatusBar = "<-"
Else
Application.StatusBar = "-"
End If
End If
Set PrevTarget = Target
End Sub

Now look in Excels lower left corner when arrowing around.

HTH. Best wishes Harald

"nathan_savidge" wrote in message
...
Hi,

I am using the worksheet.selectionchange to skip a column of data, so if
the
user enters the column (with a calculation in that is not to be changed)
the
column after is selected, cells(target.row,target.column+1). This works
fine, from left to right, but from right to left, it just sticks at the
column you were in.

Is there a way of determining the direction that a cell is entered from?
So
i can do +1 or -1 based on this.

TIA

Nathan.


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 30
Default Direction of entry to a cell

Many thanks

"Harald Staff" wrote:

Hi Nathan

Why don't you simply lock the column and protect the sheet so that the
column can't be selected ?

Otherwise, sure, just compare to the previous target:

' *********** top of module ****************
Dim PrevTarget As Range

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not PrevTarget Is Nothing Then
If Target(1).Column PrevTarget(1).Column Then
Application.StatusBar = "-"
ElseIf Target(1).Column < PrevTarget(1).Column Then
Application.StatusBar = "<-"
Else
Application.StatusBar = "-"
End If
End If
Set PrevTarget = Target
End Sub

Now look in Excels lower left corner when arrowing around.

HTH. Best wishes Harald

"nathan_savidge" wrote in message
...
Hi,

I am using the worksheet.selectionchange to skip a column of data, so if
the
user enters the column (with a calculation in that is not to be changed)
the
column after is selected, cells(target.row,target.column+1). This works
fine, from left to right, but from right to left, it just sticks at the
column you were in.

Is there a way of determining the direction that a cell is entered from?
So
i can do +1 or -1 based on this.

TIA

Nathan.



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,058
Default Direction of entry to a cell

Good question, we just need to remember which side of the "protected" column
we came from:

Dim oldcolumn As Variant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If IsEmpty(oldcolumn) Then
Else
t = Target.Column
If t = 4 Then
Application.EnableEvents = False
If oldcolumn = 4 Then
Target.Offset(0, -1).Select
Else
Target.Offset(0, 1).Select
End If
Application.EnableEvents = True
End If
End If
oldcolumn = ActiveCell.Column
End Sub

This avoids selecting a cell of column D. If we try to get to column D from
the right of column D, we end up in column C.

If we try to get to column D from the left of column D, we end up in column E.
--
Gary''s Student - gsnu200824


"nathan_savidge" wrote:

Hi,

I am using the worksheet.selectionchange to skip a column of data, so if the
user enters the column (with a calculation in that is not to be changed) the
column after is selected, cells(target.row,target.column+1). This works
fine, from left to right, but from right to left, it just sticks at the
column you were in.

Is there a way of determining the direction that a cell is entered from? So
i can do +1 or -1 based on this.

TIA

Nathan.

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 449
Default Direction of entry to a cell

Note that Target can be multiple cells, like selecting aan area or a whole
row. If so
Target.Column
will err. I like to use Target(1) in those cases, which points to the upper
left cell in Target. But more sophisticated error handlers may be required
in more complex tasks.

Best wishes Harald


"Gary''s Student" wrote in message
...
Good question, we just need to remember which side of the "protected"
column
we came from:

Dim oldcolumn As Variant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If IsEmpty(oldcolumn) Then
Else
t = Target.Column
If t = 4 Then
Application.EnableEvents = False
If oldcolumn = 4 Then
Target.Offset(0, -1).Select
Else
Target.Offset(0, 1).Select
End If
Application.EnableEvents = True
End If
End If
oldcolumn = ActiveCell.Column
End Sub

This avoids selecting a cell of column D. If we try to get to column D
from
the right of column D, we end up in column C.

If we try to get to column D from the left of column D, we end up in
column E.
--
Gary''s Student - gsnu200824


"nathan_savidge" wrote:

Hi,

I am using the worksheet.selectionchange to skip a column of data, so if
the
user enters the column (with a calculation in that is not to be changed)
the
column after is selected, cells(target.row,target.column+1). This works
fine, from left to right, but from right to left, it just sticks at the
column you were in.

Is there a way of determining the direction that a cell is entered from?
So
i can do +1 or -1 based on this.

TIA

Nathan.




  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,058
Default Direction of entry to a cell

Thanks.
This is very useful advice.
--
Gary''s Student - gsnu200824


"Harald Staff" wrote:

Note that Target can be multiple cells, like selecting aan area or a whole
row. If so
Target.Column
will err. I like to use Target(1) in those cases, which points to the upper
left cell in Target. But more sophisticated error handlers may be required
in more complex tasks.

Best wishes Harald


"Gary''s Student" wrote in message
...
Good question, we just need to remember which side of the "protected"
column
we came from:

Dim oldcolumn As Variant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If IsEmpty(oldcolumn) Then
Else
t = Target.Column
If t = 4 Then
Application.EnableEvents = False
If oldcolumn = 4 Then
Target.Offset(0, -1).Select
Else
Target.Offset(0, 1).Select
End If
Application.EnableEvents = True
End If
End If
oldcolumn = ActiveCell.Column
End Sub

This avoids selecting a cell of column D. If we try to get to column D
from
the right of column D, we end up in column C.

If we try to get to column D from the left of column D, we end up in
column E.
--
Gary''s Student - gsnu200824


"nathan_savidge" wrote:

Hi,

I am using the worksheet.selectionchange to skip a column of data, so if
the
user enters the column (with a calculation in that is not to be changed)
the
column after is selected, cells(target.row,target.column+1). This works
fine, from left to right, but from right to left, it just sticks at the
column you were in.

Is there a way of determining the direction that a cell is entered from?
So
i can do +1 or -1 based on this.

TIA

Nathan.



  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 30
Default Direction of entry to a cell

Many thanks

"Gary''s Student" wrote:

Good question, we just need to remember which side of the "protected" column
we came from:

Dim oldcolumn As Variant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If IsEmpty(oldcolumn) Then
Else
t = Target.Column
If t = 4 Then
Application.EnableEvents = False
If oldcolumn = 4 Then
Target.Offset(0, -1).Select
Else
Target.Offset(0, 1).Select
End If
Application.EnableEvents = True
End If
End If
oldcolumn = ActiveCell.Column
End Sub

This avoids selecting a cell of column D. If we try to get to column D from
the right of column D, we end up in column C.

If we try to get to column D from the left of column D, we end up in column E.
--
Gary''s Student - gsnu200824


"nathan_savidge" wrote:

Hi,

I am using the worksheet.selectionchange to skip a column of data, so if the
user enters the column (with a calculation in that is not to be changed) the
column after is selected, cells(target.row,target.column+1). This works
fine, from left to right, but from right to left, it just sticks at the
column you were in.

Is there a way of determining the direction that a cell is entered from? So
i can do +1 or -1 based on this.

TIA

Nathan.

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How do I change the direction of the cell when I press enter jonathan New Users to Excel 1 January 8th 09 03:25 PM
reverse cursor/text direction within cell [email protected] Excel Discussion (Misc queries) 4 August 24th 08 06:12 AM
restricting entry into a cell based on entry to a previous cell newbie57 New Users to Excel 1 June 9th 08 05:43 PM
Cell Entry That Locks Selected Cells From Any Data Entry. ron Excel Worksheet Functions 5 February 16th 07 09:52 PM
for each cell in range....direction problem Sunil Patel Excel Programming 4 July 7th 05 03:40 PM


All times are GMT +1. The time now is 01:19 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"