Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1964to1968
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Als Text gespeicherte Zahlen in Zahl umwandeln

Als Text gespeicherte Zahlen in Zahl umwandeln
01.03.2024 16:55:35
Michael
Hallo zusammen,
ich habe ein Tabellenblatt mit verschiedenen Spalten. In manchen davon sind einzelne Zellen mit einem grünen Dreieck oben links versehen, d.h. als Text gespeicherte Zahlen. Diese "Fehler" sollen spaltenweise von Textformat in eine Zahl innerhalb der gleichen Zelle wie bisher umgewandelt werden. Aktuell schreibt der u.g. VBA Code aber bspw. den aktuellen Textwert von Zelle A3 = 143,6 wie folgt: in Zelle A3=143 und B3=6. Kann mir hier bitte jemand weiterhelfen wo das Problem liegt bzw. wie der VBA Code richtig sein müsste, sodass in A3 = 143,6 als Zahl steht?

Dim Spalte As Range
On Error Resume Next
For Each Spalte In Columns("A:Z")
Columns(Spalte.Column).NumberFormat = "General"
Columns(Spalte.Column).TextToColumns
Next

Vielen Dank für die Rückmeldungen und ein schönes Wochenende vorab,
Michael

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Als Text gespeicherte Zahlen in Zahl umwandeln
01.03.2024 17:03:04
Lars
Kopiere einfach eine 1 und unter einfügen Werte klick unten multiplizieren an und dann müssten es Zahlen werden.
AW: Als Text gespeicherte Zahlen in Zahl umwandeln
01.03.2024 19:35:03
Daniel
HI
probiers mal mit
With ActiveSheet.Usedrange.Reisze(, 26)

.Numberformat = "General"
.FormulaLocal = .Value
End With



das Grundsätzliche Problem ist, dass die meisten dieser Umwandlungsversuche zwar wunderbar beim Ausprobieren von Hand funktionieren, aber wenn man es per Makro machen will, wird man feststellen, dass VBA dann das Komma nicht als Dezimal- sondern als Tausendertrennzeichen interpretiert, weil das in Amerika so ist und VBA meistens amerikanisch "denkt". Beim .Formula = .Value kann man über den Zusatz "Local" relativ einfach festlegen, dass die Ländereinstellungen gelten sollen..
Beim TextToColumns kann man das zwar prinzipiell auch die Vorgabe machen, was Dezimal- und Tausendertrennzeichen sein soll, aber das TextToColumns hat den Nachteil, dass es viele Parameter benötigt, um korrekt zu funktionieren. Wenn man die Parameter nicht angibt, dann überlässt man es VBA, welche Werte es dann verwendet und das können mal Standardwerte sein, es können aber auch die zuletzt vom Anwender gemachten Einstellungen sein, die übernommen werden, daher sollte man das TextToColumns nur mit vollständiger Angabe der Parameter verwenden, aber nie nur als einfachen Befehl.

Gruß Daniel
Anzeige
AW: Als Text gespeicherte Zahlen in Zahl umwandeln
01.03.2024 17:57:25
Onur
Columns(Spalte.Column) ist Quatsch, da dreifach gemoppelt. "Spalte", z.B. "A:A", ist bereits das, was du brauchst, und du errechnest davon die Spalte (?) und nimmst vom Ergebnis die Spalte (??).
Und gewöhne dir "On Error Resume Next" ab, solange du noch Anfänger bist. Du nimmst doch auch nicht prophylaktisch täglich Antibiotika, damit du nicht krank wirst, oder ? Der Schaden könnte grösser sein als der Nutzen.
Dim Sp As Range

For Each Sp In Columns("A:Z")
Sp.TextToColumns
Next

Aber bedenke: Da dürfen keine Formeln sein in diesem Bereich.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige