2016-06-01 7 views
2

Ich habe einen ähnlichen Artikel über meine Frage gefunden, wie unten angegeben;Tracking Share-Laufwerk Benutzername und Öffnungszeiten in Excel?

How do I track who uses my Excel spreadsheet?

Allerdings muss ich wie der letzte coloumn der Kommentar >> „Du auch einen Zeitstempel in der nächsten Spalte zu zeigen, setzen könnte, wenn die Kalkulationstabelle verwendet wurde“

Meine Frage ist> kann mir jemand den möglichen schritt leiten oder lasse mich den code dafür bitte kopieren? und wie man das Arbeitsblatt versteckt, ohne dass es jemand bemerkt? Mein Schlüssel ist, sehr wichtig, alles muss still getan werden, das niemand sonst (andere Benutzer in sharedrive) herausfinden könnte, dass ich es aufspüre. Der Grund ist, ich habe viele Forschungsarbeitsblätter gemacht, und ich habe keine Zeit/unmöglich, jedes Excel-Arbeitsblatt perfekt zu machen, ich muss sie priorisieren, um effizient mit meiner Zeit zu sein, indem ich weiß, welches für Leute wichtiger ist .

vielen dank ~ !!

+0

Auch, um die Excel-Codierung Marcos im Artikel "Wie trage ich verfolgen, wer meine Excel-Tabelle?" die automatische sende email funktion wenn die excel datei geöffnet ist> kann ich etwas in der codierung einstellen, damit es aufhört email zu senden WENN ich derjenige bin, der es öffnet thankssss – user6407570

+0

Zuerst möchte ich darauf hinweisen, dass es keine notwendigkeit gibt, sie zu kommentieren eigener Beitrag Sie können Ihren Beitrag bearbeiten und ändern, um den obigen Kommentar zu ändern. Danach können Sie den obigen Kommentar löschen, indem Sie das kleine "x" daneben verwenden. In Bezug auf Ihren obigen Beitrag möchte ich Sie beraten Englisch: www.doc-o-matic.com/webhelp/opHTMLHelp.html Es gibt keine (begrenzte und leicht zu überwindende) Sicherheit in Excel Wenn Sie ihre Aktionen verfolgen wollen/müssen, empfehle ich, die Excel Datei (en) mit einem SQL Server zu verbinden und das zu tun Tracking dort.Was auch immer Sie in Excel tun, kann nicht effektiv versteckt werden. – Ralph

Antwort

0

In Excel haben Sie unter "Überprüfung" die Option "Änderungen verfolgen". Dies sollte alles tun, was Sie wollen.

Wenn Sie möchten, dass ein VBA-Skript dies tut, versuchen Sie eine der folgenden Codebeispiele.

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 

Alle diese "Worksheet_Change" -Skripts sind Arbeitsblatt-Ereignisse. Sie müssen mit der rechten Maustaste auf Ihr Blatt klicken und auf "Code anzeigen" klicken und das Skript in das sich öffnende Fenster einfügen. Versuche eins nach dem anderen, nicht alle drei zusammen.