Previously active cell

后端 未结 4 1862
闹比i
闹比i 2020-12-19 22:04

For the code I am writing I monitor the changes in certain cell ranges to run functions and private subs. For this I use the Intersect function in the worksheet_change

相关标签:
4条回答
  • 2020-12-19 22:14

    With this code, referring PreviousActiveCell will return desired result:

    Public PreviousActiveCell as Range
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Static pPrevious as Range
        Set PreviousActiveCell = pPrevious
        Set pPrevious = ActiveCell
    End Sub
    

    This works inside single worksheet. Do you need a previous cell across other sheets and workbooks?

    0 讨论(0)
  • 2020-12-19 22:14

    If is unnecessary. I have used this:

    Public sPreviousTarget As String
    Public sTarget As String
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      sPreviousTarget = sTarget
      sTarget = Target.Address
    End Sub
    

    Also, Target is different from ActiveCell (ActiveCell refers to one of the cells in Target).

    0 讨论(0)
  • 2020-12-19 22:16

    below code works for me - your assignment of activecell was missing an Address meaning activecell variable is always blank

    Option Explicit
    
    Public xfrLastCell As String
    Public xfrActiveCell As String
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    If xfrActiveCell = "" Then xfrActiveCell = ActiveCell.Address
    xfrLastCell = xfrActiveCell
    xfrActiveCell = ActiveCell.Address
    MsgBox xfrLastCell
    
    End Sub
    
    0 讨论(0)
  • 2020-12-19 22:24

    It might be easier to "remember" the Range rather than the address of the range:

    Dim Oldcell As Range
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Oldcell Is Nothing Then
            Set Oldcell = Target
            Exit Sub
        End If
        MsgBox "New cell is " & Target.Address & vbCrLf & "Old cell was " & Oldcell.Address
        Set Oldcell = Target
    End Sub
    
    0 讨论(0)
提交回复
热议问题