ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   BeforeSelectionChange (https://www.excelbanter.com/excel-programming/399663-beforeselectionchange.html)

Asif

BeforeSelectionChange
 
I want to track prior cell address before "selectionchange" event.

I'd much appreciate any help in this respect.
--
Thanx & regards,
Asif

Bernie Deitrick

BeforeSelectionChange
 
Asif,

In a regular codemodule (change the 10 to the number of steps you want to track):

Public mySel(1 To 10) As String

Sub ShowPastSelections()
Dim myPast As String
Dim i As Integer

myPast = ""
For i = LBound(mySel) To UBound(mySel)
myPast = myPast & Chr(10) & mySel(i)
Next i
MsgBox myPast
End Sub

Put this in the ThisWorkbook's Codemodule:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim i As Integer
For i = UBound(mySel) To LBound(mySel) + 1 Step -1
mySel(i) = mySel(i - 1)
Next i
mySel(LBound(mySel)) = Target.Address(, , , True)
End Sub

--
HTH,
Bernie
MS Excel MVP


"Asif" wrote in message
...
I want to track prior cell address before "selectionchange" event.

I'd much appreciate any help in this respect.
--
Thanx & regards,
Asif




Asif

BeforeSelectionChange
 
Thank you for your response. I get the following error on the public statement:

"Constants, fixed length strings, array... not allowed as public members of
object modules"

Please help.
--
Thanx & regards,
Asif


"Bernie Deitrick" wrote:

Asif,

In a regular codemodule (change the 10 to the number of steps you want to track):

Public mySel(1 To 10) As String

Sub ShowPastSelections()
Dim myPast As String
Dim i As Integer

myPast = ""
For i = LBound(mySel) To UBound(mySel)
myPast = myPast & Chr(10) & mySel(i)
Next i
MsgBox myPast
End Sub

Put this in the ThisWorkbook's Codemodule:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim i As Integer
For i = UBound(mySel) To LBound(mySel) + 1 Step -1
mySel(i) = mySel(i - 1)
Next i
mySel(LBound(mySel)) = Target.Address(, , , True)
End Sub

--
HTH,
Bernie
MS Excel MVP


"Asif" wrote in message
...
I want to track prior cell address before "selectionchange" event.

I'd much appreciate any help in this respect.
--
Thanx & regards,
Asif





Dave Peterson

BeforeSelectionChange
 
In a regular codemodule (change the 10 to the number of steps you want to track):

That portion doesn't go in the ThisWorkbook module. It goes in a general
module.

Asif wrote:

Thank you for your response. I get the following error on the public statement:

"Constants, fixed length strings, array... not allowed as public members of
object modules"

Please help.
--
Thanx & regards,
Asif

"Bernie Deitrick" wrote:

Asif,

In a regular codemodule (change the 10 to the number of steps you want to track):

Public mySel(1 To 10) As String

Sub ShowPastSelections()
Dim myPast As String
Dim i As Integer

myPast = ""
For i = LBound(mySel) To UBound(mySel)
myPast = myPast & Chr(10) & mySel(i)
Next i
MsgBox myPast
End Sub

Put this in the ThisWorkbook's Codemodule:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim i As Integer
For i = UBound(mySel) To LBound(mySel) + 1 Step -1
mySel(i) = mySel(i - 1)
Next i
mySel(LBound(mySel)) = Target.Address(, , , True)
End Sub

--
HTH,
Bernie
MS Excel MVP


"Asif" wrote in message
...
I want to track prior cell address before "selectionchange" event.

I'd much appreciate any help in this respect.
--
Thanx & regards,
Asif





--

Dave Peterson

Asif

BeforeSelectionChange
 
Hi Dave,

I see nothing. No message box appears. Here is how I entered the code:

Module1:
-----------
Public mySel(1 To 10) As String

Sub ShowPastSelections()
Dim myPast As String
Dim i As Integer

myPast = ""
For i = LBound(mySel) To UBound(mySel)
myPast = myPast & Chr(10) & mySel(i)
Next i
MsgBox myPast
End Sub

This Workbook
------------------
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As Range)
Dim i As Integer
For i = UBound(mySel) To LBound(mySel) + 1 Step -1
mySel(i) = mySel(i - 1)
Next i
mySel(LBound(mySel)) = Target.Address(, , , True)
End Sub

--
Thanx & regards,
Asif


"Dave Peterson" wrote:

In a regular codemodule (change the 10 to the number of steps you want to track):


That portion doesn't go in the ThisWorkbook module. It goes in a general
module.

Asif wrote:

Thank you for your response. I get the following error on the public statement:

"Constants, fixed length strings, array... not allowed as public members of
object modules"

Please help.
--
Thanx & regards,
Asif

"Bernie Deitrick" wrote:

Asif,

In a regular codemodule (change the 10 to the number of steps you want to track):

Public mySel(1 To 10) As String

Sub ShowPastSelections()
Dim myPast As String
Dim i As Integer

myPast = ""
For i = LBound(mySel) To UBound(mySel)
myPast = myPast & Chr(10) & mySel(i)
Next i
MsgBox myPast
End Sub

Put this in the ThisWorkbook's Codemodule:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim i As Integer
For i = UBound(mySel) To LBound(mySel) + 1 Step -1
mySel(i) = mySel(i - 1)
Next i
mySel(LBound(mySel)) = Target.Address(, , , True)
End Sub

--
HTH,
Bernie
MS Excel MVP


"Asif" wrote in message
...
I want to track prior cell address before "selectionchange" event.

I'd much appreciate any help in this respect.
--
Thanx & regards,
Asif




--

Dave Peterson


Dave Peterson

BeforeSelectionChange
 
You still have to run the ShowPastSelections. That's not automatic.

So make a few selection changes and then tools|macros|macro and run that macro.

Asif wrote:

Hi Dave,

I see nothing. No message box appears. Here is how I entered the code:

Module1:
-----------
Public mySel(1 To 10) As String

Sub ShowPastSelections()
Dim myPast As String
Dim i As Integer

myPast = ""
For i = LBound(mySel) To UBound(mySel)
myPast = myPast & Chr(10) & mySel(i)
Next i
MsgBox myPast
End Sub

This Workbook
------------------
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As Range)
Dim i As Integer
For i = UBound(mySel) To LBound(mySel) + 1 Step -1
mySel(i) = mySel(i - 1)
Next i
mySel(LBound(mySel)) = Target.Address(, , , True)
End Sub

--
Thanx & regards,
Asif

"Dave Peterson" wrote:

In a regular codemodule (change the 10 to the number of steps you want to track):


That portion doesn't go in the ThisWorkbook module. It goes in a general
module.

Asif wrote:

Thank you for your response. I get the following error on the public statement:

"Constants, fixed length strings, array... not allowed as public members of
object modules"

Please help.
--
Thanx & regards,
Asif

"Bernie Deitrick" wrote:

Asif,

In a regular codemodule (change the 10 to the number of steps you want to track):

Public mySel(1 To 10) As String

Sub ShowPastSelections()
Dim myPast As String
Dim i As Integer

myPast = ""
For i = LBound(mySel) To UBound(mySel)
myPast = myPast & Chr(10) & mySel(i)
Next i
MsgBox myPast
End Sub

Put this in the ThisWorkbook's Codemodule:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim i As Integer
For i = UBound(mySel) To LBound(mySel) + 1 Step -1
mySel(i) = mySel(i - 1)
Next i
mySel(LBound(mySel)) = Target.Address(, , , True)
End Sub

--
HTH,
Bernie
MS Excel MVP


"Asif" wrote in message
...
I want to track prior cell address before "selectionchange" event.

I'd much appreciate any help in this respect.
--
Thanx & regards,
Asif




--

Dave Peterson


--

Dave Peterson


All times are GMT +1. The time now is 07:28 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com