Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在excel中更改链接时自动运行宏_Excel_Vba_Hyperlink_Changelog - Fatal编程技术网

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

如何在excel中更改链接时自动运行宏,excel,vba,hyperlink,changelog,Excel,Vba,Hyperlink,Changelog,我正在尝试创建一个记录对excel工作簿所做更改的工作表。有没有办法创建链接更改日志?例如,当前文档链接到六月价格工作簿,当用户将此链接更改为七月价格工作簿时,我希望运行一个宏,将更改记录在日志表中 理想情况下,它会在日志表中添加一行,其中包含进行更改的用户、更改的单元格地址、更改的日期和时间,以及单元格更改的内容。对于用户对单元格所做的手动更改,我已经成功地做到了这一点,但我还无法将其扩展到跟踪链接更改或刷新工作表 Private Sub Workbook_SheetChange(ByVal

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

理想情况下,它会在日志表中添加一行,其中包含进行更改的用户、更改的单元格地址、更改的日期和时间,以及单元格更改的内容。对于用户对单元格所做的手动更改,我已经成功地做到了这一点,但我还无法将其扩展到跟踪链接更改或刷新工作表

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
上面的代码确实跟踪任何手动输入的更改,但我还需要一种在链接更改时向日志表添加行的方法…

查看