Hallo Felix3574,
die folgende Formel setzt dein Vorhaben für eine Zelle um:
=WENN(LÄNGE(REST(A1;1))<3;A1;(A1*10^(LÄNGE(REST(A1;1))-2)))
Es wird der Rest der Zelle A1 bei Division durch 1 ermittelt, also der Nachkommaanteil. Dieser ist 0,123. Mit Länge () wird die Anzahl der Stellen dieses Nachkommaanteils ermittelt. Bei der einer Zahl ohne Nachkommastellen, steht hier eine 0, ansonsten ist die Länge wegen des 0, immer um zwei Zeichen länger, als die Anzahl der Nachkommaziffern.
Bei einer Zahl ohne Nachkommastellen, soll die Zahl bleiben, wie sie ist. Soweit ist das einfach.
Wenn Nachkommastellen vorhanden sind, muss die Zahl mit 10 hoch der Anzahl der Nachkommastellen multipliziert werden, damit die letzte Stelle gerade vor das Komma rutscht.
Die Formel prüft in der Wenn Funktion auf Länge(Rest(A1;1). Wenn hier ein Wert kleiner 3 steht, ist das eine Zahl ohne Nachkommastelle, also folgt für den True-Zweig bei Wenn schlicht A1.
Sind Nachkommastellen vorhanden, wird A1 mit 10^Anzahl Nachkommastellen multitpliziert.
Deine Aufgabe besteht nun darin, diese Formel in ein Makro umzusetzen, das alle Zellen durchläuft und diese Formel auf die jeweilige Zelle anwendet. Da ich von Makros keine Ahnung habe, muss ich das Schreiben des Makros anderen überlassen.
Gruß computerschrat