Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1632to1636
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

Führende Nullen werden

Führende Nullen werden
19.07.2018 17:06:06
Christoph
Hallo,
ich lese aus zwei Listen zwei Tabellen ein, die miteinander verglichen werden sollen. Dabei sind auch zwei Splaten mit Preisen, von denen ein Delta erstellt werden soll. Diese Preise sind aufgrund von vorgelagerten Export Prozessen als String ('0.092) angegeben. Für die Berechnung werden die betreffenden Zellen explizit in einen Double Wert umgewandelt
Quote1 = CDbl(.Cells(HelpingPointer + FirstRowData + 1, LastColumnData + 8))
Quote2 = CDbl(.Cells(HelpingPointer + FirstRowData + 1, LastColumnData + 4))
QuoteResult = Quote1 - Quote2
.Cells(HelpingPointer + FirstRowData + 1, LastColumnData + 10) = QuoteResult

Bei mir funktioniert die Bildung des Deltas einwandfrei. leider beim Kunden werden die führenden Nullen der Zahlen "verschluckt". Da wird aus der Rechung 0.018-0.092 die Rechnung 18-92.
In dem Makro ist bereits eine Erkennung der Einstellung ob Punkt oder Komma als Dezimaltrennzeichen eingefügt und funktioniert.
Woran könnte es noch liegen, dass die führenden Nullen abgeschnitten werden?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Führende Nullen werden
19.07.2018 19:01:55
Günther
Moin,
mit hoher Sicherheit funktioniert das Makro mit der Erkennung des Dezimaltrenners zwar bei dir, nicht aber beim Kunden.
Und ich denke, dass das gesamte Vorgehen etwas "wackelig" ist. Mir jedenfalls fehlt die Beschreibung, was das für Listen sind und wie die eingelesen werden.
Gruß
Günther
AW: Führende Nullen werden
19.07.2018 19:12:19
Daniel
Hi
CDbl geht bei der Umwandlung von Text in Zahl immer von den aktuell eingestellten Tausender- und Dezimalzeichen aus. (Ländereinstellung)
dh in einem amerikanischen Excel (Punkt = Dezimalzeichen) wird der Text '0.092 zu der Zahl 0,092
in einem deutschen Excel zu 92 (Punkt = Tausendertrennzeichen)
wenn von der Länderversion des aktuellen Rechners unabhängig sein willst, müsstest du die Funktion VAL verwenden. Diese wandelt immer mit den amerikantischen Trennzeichen um.
Quote1 = VAL(.Cells(HelpingPointer + FirstRowData + 1, LastColumnData + 8))
oder du ersetzt den Punkt durch das aktuelle Dezimalzeichen:
Quote1 = CDbl(Replace(.Cells(HelpingPointer + FirstRowData + 1, LastColumnData + 8), ".", application.DecimalSeparator))
Gruß Daniel
Anzeige
AW: Führende Nullen werden
19.07.2018 19:14:37
Daniel
Hi
CDbl geht bei der Umwandlung von Text in Zahl immer von den aktuell eingestellten Tausender- und Dezimalzeichen aus. (Ländereinstellung)
dh in einem amerikanischen Excel (Punkt = Dezimalzeichen) wird der Text '0.092 zu der Zahl 0,092
in einem deutschen Excel zu 92 (Punkt = Tausendertrennzeichen)
wenn von der Länderversion des aktuellen Rechners unabhängig sein willst, müsstest du die Funktion VAL verwenden. Diese wandelt immer mit den amerikantischen Trennzeichen um.
Quote1 = VAL(.Cells(HelpingPointer + FirstRowData + 1, LastColumnData + 8))
oder du ersetzt den Punkt durch das aktuelle Dezimalzeichen:
Quote1 = CDbl(Replace(.Cells(HelpingPointer + FirstRowData + 1, LastColumnData + 8), ".", application.DecimalSeparator))
Gruß Daniel
Anzeige
AW: Führende Nullen werden
20.07.2018 07:42:05
Christoph
Hallo,
Vielen Dank für die Antworten, ich habe die VAL-Funktion von Daniel mal eingefügt und zum Test rausgeschickt. Vor Montag kommt da keine Antwort.
@Günther, leider kann ich was die Listen angeht nicht spezifischer werden, bzw das Makro gesamt hochladen, da es sich dabei um Stücklisten handelt. Das würde richtig Ärger geben.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige