当值(Col C,行n)发生更改时,将Key Cell(Col A,Row n)复制到Audit Log

时间:2018-03-23 01:41:52

标签: excel-vba vba excel

我有一个电子表格,可以跟踪适用于特定文档的许多变量。文档名称是唯一的并位于A列中。对文档状态(列C)的任何更改都会将数据(工作表,单元格地址,用户,时间和日期)写入审核日志。由于A列就像一个键,我需要将其写入Log,这样用户就不必追踪Cell Address,但我似乎无法使其工作。列A(键)是命名范围(ALERT_NAME)。

这是迄今为止正在运行的代码的副本。如何为每个条目添加相应的ALERT_NAME(从作品A)到日志?

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveSheet.Name <> "LogDetails" Then
Application.EnableEvents = False
Sheets("LogDetails").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Value = "Insert Code for Named Ref =ALERT_NAME"
Sheets("LogDetails").Range("A" & Rows.Count).End(xlUp).Offset(0, 1).Value = ActiveSheet.Name & "-" & Target.Address(0, 0)
Sheets("LogDetails").Range("A" & Rows.Count).End(xlUp).Offset(0, 2).Value = Target.Value
Sheets("LogDetails").Range("A" & Rows.Count).End(xlUp).Offset(0, 3).Value = Application.UserName
Sheets("LogDetails").Range("A" & Rows.Count).End(xlUp).Offset(0, 4).Value = Now
Sheets("LogDetails").Columns("A:E").AutoFit
Application.EnableEvents = True
End If
End Sub

1 个答案:

答案 0 :(得分:0)

我发现解决方案是替换这一行: 值=&#34;为命名参考值插入代码= ALERT_NAME&#34;

有了这个: Value = ActiveSheet.Cells.Item(Target.Row,1)