AW: VBA-Zugriff auf Menü "Änderungen nachverfolgen"
28.03.2015 01:24:29
Michael
Hallo Matthias!
Okay, ich glaub jetzt hab ich Dich verstanden (so hoffe ich). Versuche Folgendes:
Code muss in den Codeteil der Tabelle, die überprüft wird (Zellbereich & Blattname evtl anpassen):
Public AlterWert As Variant
Private Sub Worksheet_Change(ByVal Target As Range)
'wenn kein Start- und Enddatum definiert, Änderungen nicht kennzeichnen
If Worksheets("Tabelle1").Range("XFC1048576").Value = "" Or _
Worksheets("Tabelle1").Range("XFD1048576") = "" Then
Exit Sub
End If
'Bereich ggf. anpassen
If Not Intersect(Range("A1:A10"), Target) Is Nothing And Target.Count = 1 _
And Date >= Worksheets("Tabelle1").Range("XFC1048576").Value _
And Date
Code muss in ein allgemeines Modul (Zellen & Blattname evtl. anpassen):
Sub AenderungsverfolgungEinstellen()
Dim Start As String
Dim Ende As String
Start = InputBox("Bitte Start-Datum für Änderungsverfolgung definieren" & vbCrLf & _
"Format = TT.MM.JJ", "Änderungsverfolgung")
Ende = InputBox("Bitte End-Datum für Änderungsverfolgung definieren" & vbCrLf & _
"Format = TT.MM.JJ", "Änderungsverfolgung")
If Not IsDate(Start) Or Not IsDate(Ende) Then
MsgBox "Daten falsch eingegeben, bitte wiederholen", vbCritical, "Fehler"
Exit Sub
End If
'Zellen für Start- und Enddatum ggf. anpassen
Worksheets("Tabelle1").Range("XFC1048576").Value = CDate(Start)
Worksheets("Tabelle1").Range("XFD1048576").Value = CDate(Ende)
End Sub
Den zweiten Code kannst Du nun als gewöhnliches Makro aufrufen - Du wirst dann nach zwei Daten (Start und Ende) gefragt. Diese beiden Daten werden in den letzten beiden Zellen des Tabellenblattes gespeichert (habe hier nur XL 2013, evtl. müssen die Zellen für 2007 verändert werden). Danach wird der obere Codeteil immer dann ausgeführt, wenn das aktuelle Datum zwischen den beiden eingegebenen Daten liegt; d.h. wenn das aktuelle Tagesdatum größer oder gleich dem Start-Datum UND kleiner oder gleich dem Ende-Datum ist. Sollte dem nicht so sein, werden auch keine Zelländerungen dokumentiert.
Bin jetzt raus - weitere Hilfe ab Montag wieder!
LG
Michael