Anzeige
Archiv - Navigation
1472to1476
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

zellenwert vorher und nachher vergleichen

zellenwert vorher und nachher vergleichen
07.02.2016 02:51:11
Torsten
Hallo,
ich möchte gerne mittels VBA den Zellenwert der aktiven Zelle vergleichen.
Funktion soll so laufen:
Zellwert vorher z.B. "Test"
Zellwert nacher "Test1"
jetzt soll eine Reaktion folgen (msgbox o.ä.)
Sind die vorher/nacher Werte unverändert soll auch nicht passieren.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zellenwert vorher und nachher vergleichen
07.02.2016 03:19:55
Matthias
Hallo
In ein allg. Modul
Option Explicit
Public vorher_nacher
in das Tabellenblatt
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target  vorher_nacher Then MsgBox "Zelle geändert. von: " & vorher_nacher & " auf -> " &  _
Target
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
vorher_nacher = Target
End Sub
Userbild
Gruß Matthias

Anzeige
AW: zellenwert vorher und nachher vergleichen
07.02.2016 11:29:59
Torsten
Hallo Matthias,
vielen Dank für deine schnelle Antwort.
Ja, es geht schon in die Richtung, welche ich anstrebe.
Ich möchte gerne mit dieser Funktion eine Zelle auf eine hinzugefügte Formatierung überprüfen.
Sollte sich also die Formatierung in einem Tabellenblatt(durchgestrichener Text) verändern, soll dieses die msgbox auslösen.
Eine Kontrolle, ob der Text gestrichen ist, kann ich mit diesem Marko durchführen.
Jedoch kein Vergleich zwischen vorher/nachher.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Cells(4, 3).Font.Strikethrough = True Then
Cells(4, 3).Offset(, 1) = Cells(4, 3).Value
Cells(4, 3).Offset(, 2) = "Durchgestrichen"
Else Cells(4, 3) = "" Then
Cells(4, 3).Offset(, 1) = ""
Cells(4, 3).Offset(, 2) = ""
End If
End Sub

Anzeige
AW: zellenwert vorher und nachher vergleichen
07.02.2016 16:17:02
Werner
Hallo Torsten,
im alten Beitrag hast du doch geschrieben, dass das Problem gelöst ist?
Das Problem hat mir keine Ruhe gelassen und ich habe ein wenig herum gespielt. Versuche mal folgendes:
Code ins Tabellenblatt, in dem er sich auswirken soll
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
vorher_nacher = Target.Value
Quelle = Target.Address
Ziel = Target.Offset(0, 1).Address
With Sheets("Tabelle1")
.Range(Ziel).Value = vorher_nacher
End With
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Sheets("Tabelle1")
If Quelle  "" Then
.Range(Quelle).Value = .Range(Quelle).Value
Call prüfung
End If
End With
End Sub

Code in ein allgemeines Modul
Option Explicit
Public vorher_nacher As String
Public Quelle As String
Public Ziel As String
Public Sub prüfung()
Application.EnableEvents = False
If Sheets("Tabelle1").Range(Quelle).Font.Strikethrough = True Then
Sheets("Tabelle1").Range(Ziel).Value = "gestrichen am"
Sheets("Tabelle1").Range(Ziel).Offset(0, 1).Value = Now()
Sheets("Tabelle1").Range(Ziel).Offset(0, 2).Value = "durch"
Sheets("Tabelle1").Range(Ziel).Offset(0, 3).Value = Application.UserName
End If
vorher_nacher = ""
Quelle = ""
Ziel = ""
Application.EnableEvents = True
End Sub
Am besten testest du mal mit einer neuen Datei.
Derzeit wird im kompletten Blatt "Tabelle1" der rechte Mausklick überwacht. Wird in der Zelle dann der Text durchgestrichen, werden die Protokollierungsdaten ins gleiche Blatt, mit einem Offset zur überwachten Zelle geschrieben. Das müsstest du dann noch an deine Bedürfnisse anpassen.
Gruß Werner

Anzeige
AW: zellenwert vorher und nachher vergleichen
07.02.2016 17:11:23
Torsten
Hallo Werner,
ich habe eine neue Tabelle erstellt.
Jedoch hängt er sich im Sub:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
bei "Quelle" auf?!
Hmmm...

AW: zellenwert vorher und nachher vergleichen
07.02.2016 21:20:14
Torsten
YES !!!!!!!
Oh Werner du Retter in der Not.
Nun ist das Wochenende um und man hat sich die ganze Zeit den Kopf zerbrochen.
Es klappt!
Den Rest bastel ich mir noch zusammen.
Das ganze Internet wußte es entweder nicht oder es war nicht in diese Richtung bekannt.
Und da kommt der Werner und es funzt.
Vielen lieben Dank !!!!!

AW: zellenwert vorher und nachher vergleichen
08.02.2016 07:17:34
Werner
Hallo Torsten,
ich hab mal noch ein wenig gebastelt. Wichtig vor allem, der Code den du bereits hast, läuft in einen Fehler, wenn mehrere Zellen ausgewählt werden. Bei diesem Code jetzt wurde dieser Fehler abgefangen, eine Mehrfachauswahl wird mit entsprechender Meldung unterbunden.
Zusätzlich habe ich jetzt die Ausgabe der Protokolldaten auf Tabellenblatt 2 ausgelagert -musst du halt an deine Bedürfnisse anpassen.
Und bei der ganzen Sache bedenken, dass es datenschutzrechtlich bedenklich sein könnte.
Code in allgemeines Modul
Option Explicit
Public vorher_nacher As String
Public Quelle As String
Public Ziel As Long
Public Sub prüfung()
Application.EnableEvents = False
If Sheets("Tabelle1").Range(Quelle).Font.Strikethrough = True Then
Sheets("Tabelle2").Cells(Ziel, 1).Value = vorher_nacher
Sheets("Tabelle2").Cells(Ziel, 2).Value = "in Zelle " & Quelle
Sheets("Tabelle2").Cells(Ziel, 3).Value = "gestrichen am "
Sheets("Tabelle2").Cells(Ziel, 4).Value = Now()
Sheets("Tabelle2").Cells(Ziel, 5).Value = "durch " & Application.UserName
End If
vorher_nacher = ""
Quelle = ""
Application.EnableEvents = True
End Sub
Code im Tabellenblatt
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target  "" Then
vorher_nacher = Target.Value
Quelle = Target.Address
Ziel = Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row + 1
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Sheets("Tabelle1")
If Target.Count > 1 Then
MsgBox "Mehrfachauswahl nicht zulässig"
ActiveCell.Select
End If
If Quelle  "" Then
.Range(Quelle).Value = .Range(Quelle).Value
Call prüfung
End If
End With
End Sub
Gruß Werner

Anzeige
AW: zellenwert vorher und nachher vergleichen
07.02.2016 16:47:41
Werner
Hallo Torsten,
was ich noch vergessen habe. Die Protokollierung erfolgt erst, wenn die Zelle in welcher der Text durchgestrichen wurde wieder verlassen wird.
Gruß Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige