ich melde mich mal wieder mit einem sehr seltsamen Problem.
Offenbar scheint es die ganze Welt noch nicht zu kennen, denn Google liefert keinerlei Hinweise dazu :D
Frage: warum dauert dieser Befehl
Range("A1").Value = ""
um ein Vielfaches länger als dieser
Range("A1").Value = "abc" ?
Und zwar komischerweise nur, wenn er über eine Formularschaltfläche oder ein Change-Event (z.B. Doppelklick) aufgerufen wird.
Der Aufruf über den VBE-Editor oder über ein Active-X-Button ist blitzschnell.
Ein einfaches Beispiel habe ich hier nachgestellt:
https://www.herber.de/bbs/user/145197.xlsm
Interessanterweise geht es auch über die Schaltfläche schnell, wenn direkt zuvor der Commandbutton benutzt wurde. Vermutlich, weil dann der "Fokus" noch auf diesem liegt. Zumindest ist dann keine Zelle aktiv umrahmt.
Noch etwas Zweites: wenn ich zuvor die Zelle A1 als "nur Text" formatiere, geht es auch über die Schaltfläche schnell.
An folgende Workarounds habe ich schon gedacht, aber diese scheiden aufgrund anderer Gegebenheiten aus:
- Commandbutton statt Schaltfläche verwenden (ich benötige das Doppelklick-Ereignis)
- statt .Value="" .clearcontents verwenden (ich übernehme den Wert aus anderen Zellen, die nur manchmal leer sind)
Probiert habe ich es mit Excel 2010 und 2019, jeweils 32bit unter Windows 10.
Bin gespannt auf eure Antworten!
Gruß, Sven