资讯详情

首页  >  财税知识  > 资讯详情

打开工作簿时总是跳转到最后更改内容的单元格

2025-12-22 来源:快学会计网

导读:在Excel中,能否快速返回到上次修改过内容的单元格,或者打开工作簿时总是让最后修改过的区域自动显示出来? 用省略第二参数的CELL函数可以返回最后更改的单元格地址,在工作表的某处输入下列公式: =CELL(address) 即可查看最后更改的单元格地址,其中CELL函数的第一个参数为address,表示返回单元格的引用。 要在打开某个工作簿时自动跳转到最后更改内容的单元格区域,Exc

在Excel中,能否快速返回到上次修改过内容的单元格,或者打开工作簿时总是让最后修改过的区域自动显示出来?

    用省略第二参数的CELL函数可以返回最后更改的单元格地址,在工作表的某处输入下列公式:

    =CELL("address")

    即可查看最后更改的单元格地址,其中CELL函数的第一个参数为“address”,表示返回单元格的引用。

    要在打开某个工作簿时自动跳转到最后更改内容的单元格区域,Excel没有提供直接的方法。但当修改某个单元格内容并回车、保存后,下次打开工作簿时,通常最后修改的单元格就是与当前单元格同列的上一行单元格,因为回车后会跳转到下一行的单元格。如果认为这样还不能符合要求,可以参考使用下面的VBA代码,不仅可以实现上述功能,而且在切换工作表时还能自动选择最后更改的区域并在状态栏中显示区域地址。

    使用方法是按Alt+F11打开VBA编辑器,在“工程”窗口中双击“ThisWorkbook”,在代码窗口中粘贴下面的代码:

Private Sub Workbook_Open()
On Error GoTo endline
If isNameExist Then
  Worksheets(GetShAndTarget(0)).Activate
  Range(GetShAndTarget(1)).Select
  Application.StatusBar = "最后修改:" & GetShAndTarget(1)
End If
endline:
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If isNameExist = False Then End
If Sh.CodeName = GetShAndTarget(0) Then
  Range(GetShAndTarget(1)).Select
  Application.StatusBar = IIf(GetShAndTarget(1) = "", "", "最后修改:" & GetShAndTarget(1))
Else
  Application.StatusBar = ""
End If
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If isNameExist Then
  ThisWorkbook.Names("最后修改的区域").RefersTo = Sh.CodeName & "!" & Target.Address
Else
  ThisWorkbook.Names.Add Name:="最后修改的区域", RefersTo:=Sh.CodeName & "!" & Target.Address
End If
Application.StatusBar = "最后修改:" & Target.Address
End Sub

Private Sub Workbook_Deactivate()
Application.StatusBar = ""
End Sub

Function isNameExist() As Boolean
'判断指定的名称是否存在
isNameExist = False
For i = 1 To ActiveWorkbook.Names.Count
  If ThisWorkbook.Names(i).Name = "最后修改的区域" Then
  isNameExist = True
  Exit For
  End If
Next
End Function

Function GetShAndTarget()
'从名称中提取最后修改的工作表名和区域地址
If isNameExist Then
  GetShAndTarget = Replace(Names("最后修改的区域"), "=", "")
  GetShAndTarget = Replace(GetShAndTarget, """", "")
  GetShAndTarget = Split(GetShAndTarget, "!")
End If
End Function

    返回Excel工作表界面,在工作表中修改内容后,上述代码会新建一个工作簿级的名称“最后修改的区域”,并将最后更改内容的工作表名和区域地址保存在其中,打开工作簿时调用该名称并选择最后更改内容的工作表和区域。

相关资讯
三部门:新能源车船免征车船税
网店开电子发票低于起征点不交增值税
评估业存在制度黑洞
减税降费:让企业更有"获得感"
北京市纳税人减税435亿元

点击长按保存图片,微信识别

扫码立即领取资料

咨询