Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1420to1424
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel Änderungen protokollieren lassen

Excel Änderungen protokollieren lassen
24.04.2015 18:17:19
Hoffi
Hallo liebe Excelgemeinde,
ich habe hier einen VBA Code entdeckt, der mir mein Tabellenblatt protokolliert.
Das macht er auch ganz gut....sofern die Daten einzeln eingegeben werden.
Wenn ich aber Daten aus mehreren Zellen kopiere und irgendwo einfüge, so lässt er einige Zellen aus dem Protokoll heraus.
Ein Beispiel: In den Zellen A1-A4 stehen Buchstaben/ Wörter, die ich markiere, kopiere und in B1-B4 einfüge. Im Protokoll selber wurden nur B1 und B4 ausgegeben. Das heißt: 2 Werte im Protokoll wurden ausgelassen, obwohl durch das Einfügen eine Änderung stattfand. Ersetze ich die Buchstaben / Wörter mit Zahlen, so funktioniert der Code bestens.
Hat irgend jemand eine Idee woran das liegen kann?
Option Explicit
Public varValue As Variant
Public strAddress As String
Dim mvntWert As Variant

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
Dim intRow As Integer
For Each c In Target
If c.Value  varValue Or IsEmpty(c) Then
With Worksheets("Protokoll")
intRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(intRow, 1).Value = Environ("Username")
.Cells(intRow, 2).Value = Date
.Cells(intRow, 3).Value = Time
.Cells(intRow, 4).Value = c.Column
.Cells(intRow, 7).Value = c.Row
.Cells(intRow, 9).Value = c.Value
.Cells(intRow, 8).Value = mvntWert
varValue = CStr(c.Value)
End With
End If
Next
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
varValue = ActiveCell.Value
strAddress = ActiveCell.Address
mvntWert = Target.Value
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Änderungen protokollieren lassen
24.04.2015 18:54:47
Luschi
Hallo Hoffi,
der Übergabeparamer für das markieren von Zellen ist 'Taget'.
mit: varValue = ActiveCell.Value
wird aber nur die erste markierte Zelle des Bereiches von 'Target' gespeichert.
Hier solte es schon so sein: varValue = Target.Value
Damit ist die Variable 'varValue' ein Array, das in einer For-Schleife abgeklappert werden muß.
Mach doch mal ein Beispiel, mit dem man testen kann.
Gruß von Luschi
aus klein-Paris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige