Ich bekomme wöchentlich eine Tabelle, und aus verschiedenen Gründen außerhalb meiner Kontrolle einige Spalten kommen als Text als Zahlen statt als Zahlen gespeichert. Ich muss sie für Zahlen, die später im Code passieren, in Zahlen umwandeln.Konvertieren eines bestimmten Bereichs von Spalten von Text in Zahlenformat mit VBA
ich sich Zahlen im Moment bin Umwandlung von diesem zu tun:
Dim rng As Range
For Each rng In Range("A:D").Columns
rng.TextToColumns
Next rng
Gibt es eine bessere (das heißt effiziente) Art und Weise, dies zu tun?
Ich spielte mit NumberFormat herum und es schien nicht zu funktionieren.
Vielen Dank im Voraus (und Entschuldigung, wenn ich eine Lösung schon hier verpasst habe - ich habe eine Suche und habe es nicht gefunden).
ich so tun würde: rng.Value = rng.Value. Es sollte den Text in Zahlen konvertieren. Nur ein kleiner Fehler, wenn Sie irgendeine Formel in dem Bereich haben, würde es die Formel auch in einfachen Wert konvertieren. Es gibt jedoch eine einfache Problemumgehung für dieses Problem. Aber das sollte es tun. – Vikas
Beachten Sie, dass die @Vikas-Methode nicht mit allen Gebietsschemas funktioniert, abhängig von ihrem jeweiligen Dezimaltrennzeichen. Wenn Sie beispielsweise im deutschen Gebietsschema den Wert ".Value = .Value" auf einen Bereich anwenden, werden nur die Ganzzahlen in Zahlen konvertiert. Das ist ein Bereich mit dem Textinhalt: 1 | 2 | 0,5 wird * 1 * | * 2 * | ** 0,5 ** wobei die kursiven Teile in Zahlen umgewandelt werden, der fett gedruckte Teil jedoch immer noch nur aus Text besteht. –