Discussion:
VBA: Dezimalzahlen - Punkt statt Komma
(zu alt für eine Antwort)
arno
2008-03-28 08:26:58 UTC
Permalink
Hallo,

ich erstelle im Arbeitsblatt Formeln per Excel VBA und muss als Parameter
auch Dezimalzahlen übergeben. Diese Dezimalzahlen müssen dann den Punkt als
Kommazeichen haben. Kann ich eine Zahl mit "Komma" irgendwie in das
US-Format mit "Punkt" konvertieren?

Momentan mache ich folgendes:

x = Cells(1, 1).Value ' z. B. 11,22
x = Replace(x, ",", ".") ' mach 11.22 <=== geht das "universeller"?
Cells(2, 1).Formula = "=B1+" & x

Viele Grüsse

arno
Peter Schleif
2008-03-28 08:49:12 UTC
Permalink
Post by arno
ich erstelle im Arbeitsblatt Formeln per Excel VBA und muss als Parameter
auch Dezimalzahlen übergeben. Diese Dezimalzahlen müssen dann den Punkt als
Kommazeichen haben. Kann ich eine Zahl mit "Komma" irgendwie in das
US-Format mit "Punkt" konvertieren?
Das macht VBA beim Abruf von Cells().Value automatisch. Du hast
anschließend eine korrekte Double-Zahl in x. Wenn überhaupt, müsstest
Du beim Schreiben der Formel den "." wieder durch "," ersetzen. Da Du
aber x ohnehin erst in einen String wandeln musst, geschieht auch das
z.B. bei Str() automatisch:

Dim x As Double

x = Cells(1, 1)
Cells(2, 1).Formula = "=B1+" & Trim(Str(x))

Peter
arno
2008-03-28 09:29:42 UTC
Permalink
Danke Peter,
... & Trim(Str(x))
das habe ich gesucht.

arno

Loading...