Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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

Anzeige

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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige