bisher hatte ich für die Umwandlung von falschen Zahlen eine Schleife im Einsatz, welche alle Zelle durchläuft und Zahlen (welche in Datenbankexporten zuweilen mit einem führenden Hochkomma stehen) mit dem Befehl .Formula = .Value korrekt umwandelt. In großen Selektionen hat diese Schleife schon eine spürbare Laufzeit. Ich recherchierte also nach einer Alternative und stieß auf den Befehl .PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply. Ich lasse die Selection mit 1 multiplizieren und bekomme so auch korrekte Zahlen. Hierzu muß jedoch zuerst eine 1 in die Zwischenablage kopiert werden. Dieses realisiere ich über ein zuerst angelegtes Workbook, welches nach Ausführung des Codes ohne speichern geschlossen wird. In Zelle A1 bis A6 habe ich Testwerte hinterlegt, welche bei Ausführung der Prozedur aber leider nicht mit 1, sondern jeweils mit sich selbst multipliziert werden. Ich habe keine Ahnung woran das liegt. Muß da noch irgendwo ein DoEvents rein oder muß die 1 auf dem gleichen Worksheet wie die zu multiplizierenden Daten stehen? Kann ich die 1 auch irgendwie anders in die Zwischenablage bekommen?
https://www.herber.de/bbs/user/102244.xlsm
Ich bin für jeden Hinweis zwecks Lösung des Problems dankbar.
Viele Grüße, Andreas Hanisch