Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
132to136
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
132to136
132to136
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Änderungen von Zellen protokollieren

Änderungen von Zellen protokollieren
01.07.2002 10:46:53
Hajo
Hallo liebe Excel-Gemeinde,

mit dem nachfolgenden Makro (aus Herbers Excel-Archiv abgeleitet) protokolliere ich Änderungen von Zellen mit. Das funktioniert auch recht gut, geht aber schief, sobald ich mehrere Zellen gleichzeitig lösche oder kopiere. Target.value ist dann ein Array und mit varValue nicht verträglich. Hat jemand eine Lösung, die auch das Ändern mehrerer Zellen gleichzeitig mitprotokolliert?

Danke für jeden Hinweis.
Hajo


Public varValue As Variant
Public strAddress As String

Private Sub Worksheet_Change(ByVal Target As Range)
Dim intRow As Integer
Dim intDate As Long
If Target.Value <> varValue Then
With Worksheets("Protokoll")
intRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(intRow, 1).Value = Target.Row
.Cells(intRow, 2).Value = Target.Column
.Cells(intRow, 3).Value = Target.Value
varValue = CStr(Target.Value)
End With
End If
End Sub

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



4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Teillösung
01.07.2002 11:58:51
Martin Beck
Hallo Hajo,

scheint zu funktionieren. Ausnahme: Wenn man mehrere Zellen löscht, wird nur die erste protokolliert.

Gruß
Martin Beck

Danke, das hilft etwas weiter !
01.07.2002 12:35:41
Hajo
Hierdurch wird auch die bisherige Fehlermeldung und der Abbruch beseitigt.


Rest der Lösung (hoffentlich)
01.07.2002 13:26:44
Martin Beck
Hallo Hajo,

versuche mal statt

If c.Value <> varValue Then


If c.Value <> varValue Or IsEmpty(c) Then

Ich habe nur wenig getestet, aber bei mir hat es funktioniert.

Gruß
Martin Beck

Ein Dankeschön
01.07.2002 15:52:37
Hajo_SB
Hallo Martin,

ich bin erst später wieder dazu gekommen. Deine Lösung scheint einwandfrei zu funktionieren. Besten Dank.

Gruß Hajo

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge