Excel: Verbessertes Logging mit VBA Makro?

1 Antwort

Du gehst direkt auf Target.Value. Er nimmt wahrscheinlich die Zelle der Selektion, die den Fokus hat (müsstest du einmal testen).

Target ist ein Range. Du kannst mit For Each durch diesen Range Zelle für Zelle iterieren.

For Each rZelle in Target
  ...
Next

Als globale Variable benötigst du wie es scheint ein doppeltes Array oder eine Liste / Matrix. Dort nimmst du in der ersten Spalte die einzelnen Zelladressen auf, in der zweiten den Wert der Zellen bei den Adressen.

In Worksheet_Change kannst du dann mittels Intersect prüfen, welche der global abgelegten Zelladressen in Target liegen und die Werte auf Änderung überprüfen.

Suboptimierer  03.08.2021, 07:10

Anstelle von globalen Variablen zu verwenden könntest du Zelladressen und Werte auch zum Beispiel auf einem unsichtbaren Arbeitsblatt ablegen (nur mal so als Tipp).

0