|  
                                             
	Hallo zusammen, 
	ich hoffe mir kann hier ein SuperBrain irgendwie weiter helfen. Da ich nicht so programmieraffin bin, komme ich einfach seit Tagen nicht weiter. 
	Folgendes Problem: ich möchte gerne, dass pro Sheet in einem Excel Workbook jeweils angezeigt wird wer und wann es zuletzt bearbeitet hat. 
	Folgender Code funktioniert natürlich einwandfrei, bloß wird er bei jeder Änderung sofort ausgeführt und leert den Cache: 
	Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 
	Application.EnableEvents = False 
	Sh.Range("B1").Value = Date 
	Sh.Range("C1").Value = Time 
	Sh.Range("D1").Value = Application.UserName 
	Application.EnableEvents = True 
	End Sub 
	Das ist etwas bzw. SEHR unforteilhaft. 
	Folgender Code funktioniert natürlich auch super, 
	Private Sub Workbook_BeforeClose(Cancel As Boolean) 
	Sheets("Sheet1").Select 
	Range("F1").Value = Application.UserName 
	Range("B1").Value = Strings.Format(Now, "DD.MM.YYYY") 
	Range("D1").Value = Strings.Format(Now, "hh:mm") 
	ActiveWorkbook.Save 
	End Sub 
	Allerdings werden die Werte auch aktualisiert, wenn man nichts an der Datei geändert hat, sondern diese bloß geöffnet hat und wieder schließt. 
	  
	Besteht die Möglichkeit das irgendwie zu kombinieren? Ich möchte gerne, dass das Makro pro SheetChange erst beim Schließen der Datei (um sicher zu gehen, dass der Cache bis dahin erhalten bleibt) ausgeführt wird und auch wirklich nur, wenn Änderungen vorgenommen wurden. 
	Ich weiss einfach nicht mehr weiter. 
	Ihr würdet mir ENORM weiterhelfen. 
	Vielen Dank im Voraus!!! 
	Gruß 
	Leonard (leider nicht so schlau wie der Hofstadter) 
     |