Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Zelleingaben in nicht sichtbarem Blatt protokollieren

Gruppe

Change

Problem

Wie kann ich jede Zelleingabe mit Angabe des Anwendernamens, des Datums und der Zeit in einem nicht sichtbare Tabellenblatt protokollieren?

Lösung
Geben Sie den Ereigniscode in das Klassenmodul des Arbeitsblattes ein.

StandardModule: basMain

Sub HistorieEinAus()
   With Worksheets("History")
      If .Visible = True Then
         .Visible = xlVeryHidden
      Else
         .Visible = True
      End If
   End With
End Sub

ClassModule: Tabelle3

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim lRow As Long
   If Target.Column > 2 Then Exit Sub
   If Target.Cells.Count > 1 Then Exit Sub
   With Worksheets("History")
      lRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
      .Cells(lRow, 1).Value = Target.Address(False, False)
      .Cells(lRow, 2).Value = Now
      .Cells(lRow, 3).Value = Application.UserName
      .Cells(lRow, 4).Value = Target.Value
   End With
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub