...Beide anhand der Zelle unterscheiden,...
27.07.2010 09:23:44
Luc:-?
…Claudia…!
Dim zeit(1) As Date
zeit(0) = TimeValue(Right(CStr(Now), 8)): zeit(1) = …
If Not Intersect(Target, Range("E7")) Is Nothing Then
Cancel = True: Target = zeit(0): Target.NumberFormat = "hh:mm:ss"
ElseIf Not Intersect(Target, Range("F7")) Is Nothing Then
Cancel = True: Target = zeit(1): Target.NumberFormat = "hh:mm:ss"
End If
Du nutzt bisher die Möglichkeiten der EventProc gar nicht richtig aus und befindest dich deshalb nach Doppelklick stets im Bearbeitungsmodus der angeklickten Zelle, die dann auch die selektierte ist, die bei dir anschließend formatiert wird. Du könntest bisher zwar auf eine beliebige Zelle mit stets gleichem Ergebnis klicken, dann wäre aber ggf die formatiert und nicht E7 (falls der Bearbeitungsmodus nicht zum ProzAbbruch führt)! Außerdem wäre der RightClick (analog!) viel bequemer oder noch besser SelectionChange!
Also alles doch recht ungeschickt → du solltest mal in der VBE-Hilfe zur Bedeutung der ProzParameter Target und Cancel nachlesen…!
Wenn du auf eine beliebige Zelle klicken willst, um E7 und F7 zu füllen, kannst du das in der jetzigen Form deines Makros durchaus tun — du musst nur die entsprechenden Befehle hinzufügen. Insofern ist deine Frage eigentl unverständl und deutet auf ein Nullverständnis der Abläufe deinerseits hin. Müll wäre dann nur das höchst überflüssige, weil sinnlose .FomulaR1C1 (→ .Value würde reichen, kann aber auch entfallen, weil es die Default-Eigenschaft von Range ist!) und die ebenfalls sinnlose Formatierung, denn einerseits trifft die in diesem Fall weder E7 noch F7 (du kannst bei deinem Code ja auch auf bspw A1 klicken und hast die Zeit in E7!) und andererseits brächte das auch nix, denn die Zellen enthalten dann Text. Du müsstest also wenigstens … = TimeValue(zeit) schreiben und dann die Formatierung direkt auf die gefüllte Zelle, nicht auf ein ominöses Selection, das ohnehin Target entspricht, beziehen. Mit Cancel = True würdest du auch in diesem Fall verhindern, dass du bei Doppelklick in den Zellbearbeitungsmodus gelangst, allerdings wäre das dann bei deiner Form immer so, was sicher nicht wünschenswert ist…! Also irgendwie wohl doch nicht so recht das richtige Ereignis erwischt… ;->
Morn, Gruß Luc :-?