我正在尝试为版本跟踪创建电子表格,但是有一个单独的表格捕获第一张表格的更改,需要包含一些其他信息 . 这是当前运行的脚本 .
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = "Log" Then Exit Sub
Application.EnableEvents = False
On Error Resume Next
With Sheets("Log").Cells(Rows.Count, 1).End(xlUp)
.Offset(1, 0).Value = Environ("UserName")
.Offset(1, 1) = Sh.Name
.Offset(1, 3) = Target.Address
.Offset(1, 4) = "'" & Target.Formula
.Offset(1, 5) = Previous
Previous = ""
.Offset(1, 6) = Now
End With
Application.EnableEvents = True
结束子
修改的单元格在第3列中作为Target.Address捕获 . 我希望能够引用Target.Address的Row并在第一个工作表的同一行显示A列的值 . .
例如:单元格D7在工作表1上进行了修改 . 日志表显示$ D $ 7作为目标地址的值 . 在另一个单元格中,我想知道A7的值是什么感觉target.address的行是7.它将位于.Offset(1,2)=示例中缺少的点,因为我正在尝试不同的公式而不是使用vba .
我很害怕,我很难找到并且很难找到或措辞问题 .
任何建议将不胜感激!先感谢您,
2 回答
处理多个更改的细胞:
您不需要在此处禁用事件,因为“退出if log sheet”行会解决这个问题 .
您可以使用
Target.Value2
属性来解决更改的值 . 你的脚本看起来像这样: