跟踪共享驱动器用户在Excel中的名称和开放时间?

时间:2016-06-01 04:21:09

标签: excel vba excel-vba macros

我发现了一篇关于我的问题的类似文章,如下所述;

How do I track who uses my Excel spreadsheet?

但是,我确实喜欢评论的最后一个>> "您还可以在下一栏中加上时间戳,以显示电子表格何时使用"

我的问题是>任何人都可以指导我可能的步骤或让我复制代码这样做吗?以及如何在没有人注意的情况下隐藏工作表? 我的关键是,非常重要的是,一切都必须默默地进行,没有其他人(sharerive中的其他用户)可以找到我跟踪它。原因是,我已经做了很多研究工作表,而且我没有时间/不可能使每一个excel工作表都完美,我需要优先考虑它们,以便通过知道哪一个更重要来提高我的时间对人民来说。

非常感谢〜!!

1 个答案:

答案 0 :(得分:0)

在Excel中,在“审核”标签下,您有“跟踪更改'”。这应该做你想做的一切。

如果您希望VBA脚本执行此操作,请尝试以下代码示例之一。

Private Sub Worksheet_Change(ByVal Target As Range)
Set t = Target
Set a = Range("A:A")
If Intersect(t, a) Is Nothing Then Exit Sub
Application.EnableEvents = False
t.Offset(0, 7).Value = Environ("username")
Application.EnableEvents = True
End Sub


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim V As Long
Application.EnableEvents = False

Set rng1 = Application.Union(Range("a1:g1"), Range("H:iv"))
Set rng = Application.Intersect(Target, rng1)
If Not rng Is Nothing Then Exit Sub

V = Target.Offset(0, 12).Value
If Target.Offset(0, 12) = "" Then
    With Range("H" & Target.Row)
       .Value = Target.Address & ": first entry by " & Application.UserName & " at " & Now()
       .ColumnWidth = 60
       .Interior.ColorIndex = 33
    End With
    Target.Offset(0, 12).Value = Target.Value
    Application.EnableEvents = True
    Exit Sub
End If
Target.Offset(0, 12).Value = Target.Value
With Range("H" & Target.Row)
  .Value = Target.Address & " changed from " & V & " to " & Target.Value & " by " & Application.UserName & " at " & Now()
   .ColumnWidth = 60
  .Interior.Color = vbYellow
End With
Application.EnableEvents = True
End Sub


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
        With Target
            If .Count > 1 Then Exit Sub
            If Not Intersect(Range("A2:A10"), .Cells) Is Nothing Then
                Application.EnableEvents = False
                Sheets("Sheet2").Select
                If IsEmpty(.Value) Then
                    .Offset(0, 1).ClearContents
                Else
                    With .Offset(0, 1)
                        .NumberFormat = "dd mmm yyyy hh:mm:ss"
                        .Value = Now
                    End With
                End If
                Sheets("Sheet1").Select
                Application.EnableEvents = True
            End If
        End With
End Sub

所有这些'工作表_改变'脚本是工作表事件。您需要右键单击工作表,然后单击“查看代码”。然后将脚本粘贴到打开的窗口中。一次尝试一个,而不是全部三个。