Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
612to616
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
612to616
612to616
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Value-Funktion und Nachkommas

Value-Funktion und Nachkommas
24.05.2005 14:57:54
Kai
Hallo,
wenn ich per VBA mit der Value Funktion eine Zelle mit einer Kommazahl fülle,
dann verhält sich Excel bis zur dritten Stelle so, das eine Korrekte Zahl
angezeigt wird.
Habe ich mehr als drei Nachkommastellen, wird das Komma, wie mir scheint
als Tausenderpunkt interpretiert. Auf jeden Fall schreibt Excel sehr große
Zahlen in das Feld.
Selbst Formatieren oder verschiedenste Einstellungen mit fixen Nachkommastellen
(noch die Recherche bei Herber) haben mich weiter gebracht.
Ich möchte aber auch das "Replacen" der Kommas durch Punkte aus
Performance-Gründen vermeiden.
Hat jemand dafür eine Lösung.
Danke im Voraus
Kai

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

Betreff
Datum
Anwender
Anzeige
AW: Value-Funktion und Nachkommas
24.05.2005 15:09:40
Ralf
Hi Kai,
zunächst, Value ist keine Funktion sondern eine Eigenschaft. Für Dein geschildertes Problem gibt es aus meiner Sicht 2 mögliche Ursachen.
1. Du hast den falschen Ländercode eingestellt.
Das kannst Du über die 'Systemsteuerung - Ländereinstellungen' ändern
2. Du hast Deinen Variablen einen falschen Datentyp zugewiesen. Das mußt Du schon selbst kontrollieren.
Ciao, Ralf
AW: Value-Funktion und Nachkommas
24.05.2005 16:29:10
Erich
Hallo Kai und Ralf,
meines Erachtens hat das Problem nichts mit Ländereinstellungen oder Variablenformaten zu tun, sondern mit dem Gebrauch des Kommas in VBA. VBA ist englisch/amerikanisch und kennt kein Dezimalkomma, sondern den Dezimalpunkt. Und ein Komma innerhalb von Zahlen wird in VBA als Tausendertrennzeichen interpretiert. Wenn also per VBA eine Konstante mit Dezimalstellen in eine Zelle geschrieben werden soll, muss in der Zahl vor den Dezimalstellen ein Punkt stehen.
Im Beispiel habe ich von VBA vier Werte in Spalte A eintragen lassen, mal mit Komma, mal mit Punkt.
(Spalte A hat Format "Standard").
In Spalte B werden nur die Werte der Spalte A identisch wiedergegeben, aber mit Format "Zahl" mit 6 Nachkommastellen und Tausendertrennzeichen:

Sub tst()
[a1] = "1,234"
[a2] = "1,23456"
[a3] = "1.234"
[a4] = "1.23456"
End Sub

| A | B |
- | -------- | --------------- |
1 | 1.234 | 1.234,000000 |
2 | 123.456 | 123.456,000000 |
3 | 1,234 | 1,234000 |
4 | 1,23456 | 1,234560 |
Benutzte Formeln:
B1: =A1
B2: =A2
B3: =A3
B4: =A4

Alles klar?
Grüße aus Kamp-Lintfort
Erich
Anzeige
AW: Value-Funktion und Nachkommas
24.05.2005 16:40:49
Erich
Hallo nochmal.
Nur, um keine Missverständnisse auskommen zu lassen:
In meinem VBA-Beispiel stehen die Zahlen nur ausnahmsweise in Gänsefüßchen. Die beiden Zuweisungen mit den "Kommazahlen" währen sonst so nicht möglich, sondern verursachten schon bei der Eingabe einen VBA-"Fehler beim Kompilieren - Erwartet: Anweisungsende". Und das ist gut so!
Die Zuweisungen an [A1] und [A2] machen wenig Sinn, die beiden lauten richtig

[a3] = 1.234
[a4] = 1.23456

Grüße aus Kamp-Lintfort
Erich

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige