在Excel中更改链接时如何自动运行宏

时间:2019-04-01 13:32:12

标签: excel vba hyperlink changelog

我正在尝试创建一个工作表来记录对Excel工作簿所做的更改。有没有办法创建链接更改的日志?例如,当前文档链接到6月价格工作簿,当用户将此链接更改为7月价格工作簿时,我想运行一个宏来在日志表中记录更改。

理想情况下,它将在日志表中添加一行,其中包含进行更改的用户,更改的单元格地址,更改的日期和时间以及更改的单元格。我设法使这项工作适用于用户对单元格进行的手动更改,但是我无法扩展它来跟踪链接更改或刷新到工作表。

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

 If Sh.Name = "Audit" Then
        Exit Sub
        Else
        For Each c In Target

            LR = Sheets("Audit").Cells(Rows.Count, "A").End(xlUp).Row + 1

            ActiveWorkbook.Sheets("Audit").Cells(LR, 1).Value = Application.UserName
            ActiveWorkbook.Sheets("Audit").Cells(LR, 2).Value = Sh.Name & "!" & c.Address
            ActiveWorkbook.Sheets("Audit").Cells(LR, 3).Value = Now
            ActiveWorkbook.Sheets("Audit").Cells(LR, 4).Value = c.Value

        Next c
    End If

End Sub

上面的代码确实跟踪任何手动输入的更改,但是我还需要一种在链接更改时在日志表中添加一行的方法...

0 个答案:

没有答案