Thema Datum  Von Nutzer Rating
Antwort
14.11.2011 11:57:57 Klaus
NotSolved
14.11.2011 12:24:54 Till
NotSolved
14.11.2011 13:05:46 Gast71254
NotSolved
14.11.2011 13:16:44 Till
NotSolved
14.11.2011 13:22:39 Klaus
NotSolved
14.11.2011 13:59:00 Gast61207
NotSolved
Rot Protokollierung des Users
15.11.2011 02:35:37 Till
*****
NotSolved
15.11.2011 11:51:29 Klaus
NotSolved
15.11.2011 15:07:22 Till
NotSolved
16.11.2011 09:00:49 Klaus
NotSolved
16.11.2011 19:51:44 Till
NotSolved

Ansicht des Beitrags:
Von:
Till
Datum:
15.11.2011 02:35:37
Views:
1118
Rating: Antwort:
  Ja
Thema:
Protokollierung des Users

Ich habe die Funktion mal erweitert und meine eigene Variante gebaut:

Option Explicit

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'On Error GoTo restoreSettings
Application.EnableEvents = False
Dim VN, VO, ProtRow$(0, 8)
Dim iRow As Integer, newTarget  As Object
Dim tSh As Worksheet
Dim TAdd$, TRAdd$, TRsAdd$, TParent$
Dim V1, V2, V3

    'set
        Set tSh = Worksheets("Protokollierung")
        Set newTarget = ActiveCell
        With Target
            TAdd = .Address(False, False)
            TRAdd = Target(1, 1).EntireRow.Address(False, False)
            TRsAdd = .EntireRow.Address(False, False)
            TParent = .Parent.Name
            If TAdd = TRAdd Then
                VN = "Zeile geändert"
            ElseIf TAdd = TRsAdd Then
                VN = "Mehere Zeilen geändert"
            ElseIf .Rows.Count > 1 Or .Columns.Count > 1 Then
                VN = "Bereich geändert"
            Else
                VN = .Value
                Application.Undo
                If .Rows.Count < 2 And .Columns.Count < 2 Then
                    VO = .Value
                    .Value = VN 'Wert wiederherstellen
                End If
                newTarget.Select 'Selektion wiederherstellen
            End If
        End With
    
    'Protokoll erstellen
        iRow = tSh.Cells(Rows.Count, 1).End(xlUp).Row + 1
        ProtRow(0, 0) = iRow - 1 'Index
        ProtRow(0, 1) = Application.UserName
        ProtRow(0, 2) = Now() 'Änderrungsdatum
        ProtRow(0, 3) = TParent 'Sheet name
        ProtRow(0, 4) = TAdd 'Zelladdresse
        ProtRow(0, 5) = VO 'Alter Wert
        ProtRow(0, 6) = ">"
        ProtRow(0, 7) = VN 'Neuer Wert
        ProtRow(0, 8) = Target(1, 2) 'Datum
        
    'Daten übertragen
        With tSh
            .Range(.Cells(iRow, 1), .Cells(iRow, 1 + UBound(ProtRow, 2))).Value = ProtRow
            .Columns.AutoFit
        End With
    
restoreSettings:
Application.EnableEvents = True
End Sub

Error-Handler sollte die Funktion nicht mehr brauchen, falls es doch zu fehlern kommt, kannst du den ja wieder aktivieren. Die Funktion musst du in das Modul "Diese Arbeitsmappe" packen.

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
14.11.2011 11:57:57 Klaus
NotSolved
14.11.2011 12:24:54 Till
NotSolved
14.11.2011 13:05:46 Gast71254
NotSolved
14.11.2011 13:16:44 Till
NotSolved
14.11.2011 13:22:39 Klaus
NotSolved
14.11.2011 13:59:00 Gast61207
NotSolved
Rot Protokollierung des Users
15.11.2011 02:35:37 Till
*****
NotSolved
15.11.2011 11:51:29 Klaus
NotSolved
15.11.2011 15:07:22 Till
NotSolved
16.11.2011 09:00:49 Klaus
NotSolved
16.11.2011 19:51:44 Till
NotSolved