
Hin und wieder nervt es mich, dass Excel bei bestimmten Zahlenformaten den Inhalt von Zellen durch '######' ersetzt, wenn die Zelle zu klein ist.
Bisher war es kein großes Problem, wenn es die Ausgabe meiner Makros durcheinanderbringt, die auf dem angezeigten Text, d. h. dem Währungssymbol, basiert, das nicht Teil der Daten in der Zelle ist.
Gibt es eine Möglichkeit, diese Funktion auszuschalten und die Zahlen abzuschneiden oder überlaufen zu lassen, wie es bei Text der Fall ist?
Dies gilt insbesondere für Fälle, in denen meine Zellen eine bestimmte Größe haben sollen oder ich meine Zellen verbergen möchte, sodass dies behoben werden muss. Ich habe ausführlich gegoogelt, aber weder eine Lösung noch ähnliche Fragen gefunden.
Als vorübergehende Problemumgehung hierfür habe ich die Funktion „Verkleinern zur Anpassung“ für die Zellenausrichtung aktiviert, aber am liebsten würde ich sie einfach deaktivieren.
Mir ist bewusst, dass diese Funktion dazu dient, das falsche Lesen abgeschnittener Zahlen zu verhindern, aber für meine Zwecke stört mich das derzeit nicht.
Antwort1
Passen Sie die Spaltenbreite automatisch an, bevor Sie auf den Zellentext verweisen.
z.B
With ActiveCell
.EntireColumn.AutoFit
Debug.Print .Text
End With
Antwort2
Sie können die Zellen/Spalten/was auch immer als TEXT formatieren, bevor Sie die Daten eingeben (oder auch danach, mit etwas Aufwand, um einige Effekte zu berücksichtigen, die Excel möglicherweise bereits vorgenommen hat, wie etwa die Anzeige in wissenschaftlicher Notation.)
Auf diese Weise erzielen Sie den „Clipping“-Effekt und ändern Ihre offensichtliche Formatierung nicht in die wissenschaftliche Notation oder in die Rautenzeichen.
In den MEISTEN Fällen, in denen diese Zahlen in späteren Berechnungen verwendet werden, interpretiert Excel sie problemlos als Zahlen, auch wenn die Formatierung als TEXT erfolgt. Das Hinzufügen zu etwas usw. funktioniert also problemlos.
Funktionen wie diese SUM()
werden das allerdings nicht tun. Für sie wird das Problem gelöst, indem man einen Bereich oder eine Zellreferenz in die VALUE()
Funktion einschließt: SUM(VALUE(A1:B5))
summiert alle derartigen Daten im Bereich auf eine saubere Art und Weise.
Jede Funktion (oder jeder Menübefehl usw.), von der logischerweise erwartet werden kann, dass sie einen wichtigen Unterschied zwischen Text und Zahl findet, schlägt jedoch ohne zusätzliche Schritte fehl. Nachschlagefunktionen zum Beispiel. Oder wenn Sie die Filterfunktion des Menübands verwenden, wird alles, was als Text formatiert ist, als anders erkannt als alles, was als Zahlen oder allgemein formatiert ist.
Das =IFERROR(VLOOKUP(VALUE(A1),B1:E4,2,FALSE),VLOOKUP(A1,B1:E4,2,FALSE))
könnte das Problem lösen, allerdings könnte etwas Komplizierteres nötig sein, wenn die Suche komplizierter ist.
Und schließlich ist bei der Verwendung der Daten in Pivot-Tabellen, in Power Pivot oder in Power Query alles möglich. (PQ ist dabei noch das am wenigsten heikle.)
Aber Sie brauchen hier nur grundlegende Palliativversorgung? Formatieren Sie es als Text und prüfen Sie, ob es die Probleme löst, ohne dass unmittelbare Folgeschwierigkeiten auftreten.