Excel verändert Zahlen mit mehreren Nachkommastellen bei Eingabe mit VBA

Diskutiere und helfe bei Excel verändert Zahlen mit mehreren Nachkommastellen bei Eingabe mit VBA im Bereich Microsoft Office im Windows Info bei einer Lösung; Hallo zusammen, ich bearbeite einige große Excel Tabellen, um Zahlen kundengerecht umzustellen. Die Zahlenwerte bewegen sich im Bereich von 1 bis 3... Dieses Thema im Forum "Microsoft Office" wurde erstellt von Herbstmelancholie, 29. November 2018.

  1. Excel verändert Zahlen mit mehreren Nachkommastellen bei Eingabe mit VBA


    Hallo zusammen,

    ich bearbeite einige große Excel Tabellen, um Zahlen kundengerecht umzustellen.

    Die Zahlenwerte bewegen sich im Bereich von 1 bis 3 Ziffern vor dem Komma mit bis zu 13 Nachkommaziffern.

    Es ist gefordert, die Zahlenwerte unverändert in neue Tabellen zu transferieren.

    Die Zellen aller Tabellen sind immer als Zahlenformat "Standard" formatiert.


    Dazu benutze ich ein VBA Makro mit dem Befehl "[Ziel].formular1c1 = [Quelle].value

    Seit ein paar Monaten stelle ich fest, dass Excel etwa 3% der Zahlen nicht korrekt in die Zielzelle schreiben kann.


    Beispiel:

    Zahl: "10,2627257845836", angezeigt von Excel als "10,26272578". So weit ok.

    Wird diese Zahl mit dem VBA Befehl "formular1c1" in eine Zelle einer neuen Tabelle geschrieben, wird daraus:

    Zahl: "1026272578", angezeigt von Excel als "1.026.272.578".

    Die vorher in der Zielzelle vorhandene Standard Formatierung wird von Excel selbstständig durch das

    Format 'Zahl' ersetzt, und die '1000-er Trennzeichen verwenden' ist aktiviert.


    Meine bisherigen Lösungsversuche:

    - das Problem tritt auf unterschiedlichen Rechnern unterschiedlichen Alters und unter unterschiedlichen Accounts auf

    - das Problem tritt nicht bei allen Zahlen auf, die Zahl vor dem Komme muss größer Null sein und darf maximal zwei Ziffern besitzen

    - das Problem tritt erst bei VBA Makros auf, die im letzten halben Jahr geschrieben wurden

    - das Problem kann nicht durch vorherige Formatierung der Quell- oder Zielzelle beeinflusst werden, da Excel die Formatierung des Ziels immer ersetzt. Eine nachträgliche Formatierung ändert am eingeschriebenen Wert natürlich nichts mehr.

    - das Problem tritt nur bei einer Mindestanzahl von Nachkommastellen auf:

    13 Nachkommastellen: "10,2627257845836" ---> "1026272578", angezeigt von Excel als "1.026.272.578" (falsch)

    12 Nachkommastellen: "10,262725784583" ---> "1026272578", angezeigt von Excel als "1.026.272.578" (falsch)

    11 Nachkommastellen: "10,26272578458" ---> "1026272578", angezeigt von Excel als "1.026.272.578" (falsch)

    10 Nachkommastellen: "10,2627257845" ---> "1026272578", angezeigt von Excel als "1.026.272.578" (falsch)

    9 Nachkommastellen: "10,262725784" ---> "1026272578", angezeigt von Excel als "1.026.272.578" (falsch)

    8 Nachkommastellen: "10,26272578" ---> "1026272578", angezeigt von Excel als "1.026.272.578" (falsch)

    7 Nachkommastellen: "10,2627257" ---> "102627257", angezeigt von Excel als "102.627.257" (falsch)

    6 Nachkommastellen: "10,262725" ---> "10262725", angezeigt von Excel als "10.262.725" (falsch)

    5 Nachkommastellen: "10,26272" ---> "1026272", angezeigt von Excel als "1.026.272" (falsch)

    4 Nachkommastellen: "10,2627" ---> "102627", angezeigt von Excel als "102.627" (falsch)

    3 Nachkommastellen: "10,262" ---> "10262", angezeigt von Excel als "10.262" (falsch)

    2 Nachkommastellen: "10,26" ---> "10,26", angezeigt von Excel als "10,26" (richtig)

    1 Nachkommastellen: "10,2" ---> "10,2", angezeigt von Excel als "10,2" (richtig)

    0 Nachkommastellen: "10" ---> "10", angezeigt von Excel als "10" (richtig)

    - das Problem ändert sich nicht mit der Änderung der Ländereinstellungen (Dezimaltrennzeichen, Tausendertrennzeichen)("." und ",") von System und Excel (jede Kombination ausprobiert)

    - das Problem ändert sich nicht, wenn das Makro in unterschiedlichen Formaten arbeiten ("*xlsm", "*xls")

    - das Problem tritt NICHT bei manueller Eingabe auf.

    - das Problem lässt sich nicht durch VBA beeinflussen:

    1. Einschreiben als Text: "[Ziel].formular1c1 = [Quelle].Text ---> "1.026.272.578" (falsch)

    2. Einschreiben als Wert: "[Ziel].formular1c1 = [Quelle].Value ---> "10,2627257845836" (hier richtig, aber nicht immer)

    3. Quellwert als Variant Variable festlegen: Dim VarWert as Variant, VarWert = [Quelle].Value

    "[Ziel].formular1c1 = VarWert ---> "10,2627257845836" (hier richtig, aber nicht immer)

    4. Quellwert als String Variable festlegen: Dim VarWert as String, VarWert = [Quelle].Text

    "[Ziel].formular1c1 = VarWert ---> "10,2627257845836" (hier richtig, aber nicht immer)

    5. Quellwert mit Hochkomma einschreiben: "[Ziel].formular1c1 = "'" & [Quelle].Text ---> "'10,26272578" (falsch, die letzten 5 Nachkommastellen werden abgeschnitten, außerdem wünschen die Kunden ihre Zahlen nicht als Text)


    Genauer kann ich das Problem leider nicht eingrenzen. Mir ist noch bekannt, dass beim csv Export aus einer großen Datenbank auch Zahlen mit mehr als 3 Nachkommastellen verändert werden. Durch diese Unzuverlässigkeit steht Excel zur Zeit als Arbeitsmittel in Frage.

    Die verwendete Excel Version: Microsoft Office Professional Plus, Version 14.0.7214.5000

    Vielen Dank im voraus für Antworten, ich würde mich freuen!



    Als Anhang noch weitere Zahlen, die nicht richtig übertragen werden.

    Die Zahlen rechts wurden so erzeugt: Range("B" & i).FormulaR1C1 = Range("A" & i).Text (mit i als Zeilenzähler)
     
  2. Andreas Killer Win User

    Excel verändert Zahlen mit mehreren Nachkommastellen bei Eingabe mit VBA

    Range("B" & i).FormulaR1C1 = Range("A" & i).Text
    Wer das macht ist selber Schuld. :)

    .FormulaR1C1 ist schon perse falsch, wenn Du eine Zahl übertragen willst und keine Formel, dann .Value

    .Text liefert den auf dem Bildschirm angezeigten (!!!) Text, d.h. ist die Spaltenbreite kleiner als die Anzahl der Nachkommastellen ändert sich der angezeigte Wert und damit so auch sporadisch eine gewisse Anzahl Deiner
    Werte. Auch hier .Value und der Spuk hat ein Ende.

    Danach kannst Du alles andere (Tausenderzeichen usw.) vergessen, die Zahl wird ind er Zielzelle gemäß deren Formatierung korrekt angezeigt.

    Andreas.
  3. Claus Busch Win User

    Excel verändert Zahlen mit mehreren Nachkommastellen bei Eingabe mit VBA

    Hallo,

    eine Standard-formatierte Zelle zeigt nur 10 Ziffern einer Zahl an. Wenn du also mehr Stellen siehst, sind deine Zellen Text-formatiert.

    Wenn du nun die Zahlen übertragen willst, werden sie in einer Standard-formatierten Zelle wieder auf 10 Ziffern gekürzt. Der Wert ist korrekt, denn alle Stellen werden in der Bearbeitungsleiste angezeigt.

    Um alle Nachkommastellen zu sehen, musst du die Zielzelle entsprechend formatieren (Text oder Zahl mit der gewünschten Anzahl von Nachkommastellen).

    Lade dir mal hier die Mappe herunter, lösche die Daten in Spalte C und rufe das Makro "Test" auf:

    https://1drv.ms/x/s!AqMiGBK2qniTgeADOhH0jmvxkUY4vA

    Claus
  4. Herbstmelancholie Win User

    Excel verändert Zahlen mit mehreren Nachkommastellen bei Eingabe mit VBA

    Hallo zusammen,

    vielen Dank für die Antworten.

    Mir war nicht bekannt, dass ein Wert in eine andere Zelle mit ".Value" übertragen werden kann.

    Dies löst alle meine Probleme!

    Danke nochmals und ein Extralob für die schöne Tabelle mit Makro zum Herunterladen.

    Grüße

  5. Claus Busch Win User

    Seltsames Verhalten in der Excel "Gerade" Funktion ?

    Hallo Dennis,

    GERADE rundet auf die nächste runde Ganzzahl auf.

    Sehr wahrscheinlich haben die Zahlen in B2 und B3 mehr Nachkommastellen als durch das Format angezeigt. Dadurch hat dann B4 auch mehr Nachkommastellen. Formatiere mal B2:B4 mit Zahl mit 15 Nachkommastellen.

    Claus
  6. Pac Man Win User

    Fahlsche Umrechnung einer Zahl beim Import (per Select) von Excel in Access

    hallo Kay

    >In Excel ist die Zahl -35965,52 als Währung eingegeben

    wurde dieser Wert berechnet? Lasse dir bei dieser Zahl mal mehr nachkommastellen anzeigen. ich vermute in excel wirst du auch schon -35965,5199 sehen.

    Runde das Ergebniss dann einfach.

    MFG CHRIS
  7. User Advert


    Hi,

    willkommen im Windows Forum!
Thema:

Excel verändert Zahlen mit mehreren Nachkommastellen bei Eingabe mit VBA - Microsoft Office

Die Seite wird geladen...

Excel verändert Zahlen mit mehreren Nachkommastellen bei Eingabe mit VBA - Similar Threads - Excel verändert Zahlen

Forum Datum

Excel verändert Summenergebnis in der 10. Nachkommastelle, obwohl einzelnen Zahlen maximal...

Excel verändert Summenergebnis in der 10. Nachkommastelle, obwohl einzelnen Zahlen maximal...: Ob Microsoft Interesse daran hat, diese Anomalie zu beheben? Bzw. ob es Belohnungen dafür gibt, dass man einen konkreten Hinweis für den Fehler liefert?
Microsoft Office 28. November 2022

Serienbrief / Betragsfeld wird mit zu vielen Nachkommastellen ausgegeben / Eingabe im Excel...

Serienbrief / Betragsfeld wird mit zu vielen Nachkommastellen ausgegeben / Eingabe im Excel...: Guten Tag, ich habe eine Exceldatei mit einem Betragsfeld für einen Serienbrief. Wenn ich diese Datei für denSerienbrief verwende, wird das Betragsfeld mit zu vielen Nachkommastellen angezeigt....
Microsoft Office 22. Mai 2022

Excel verändert Zahlen beim Kopieren von Worksheets

Excel verändert Zahlen beim Kopieren von Worksheets: Hallo, ich beobachte das unangenehme Phänomen, dass Excel beim kopieren von Worksheets von einem Excel File in einem anderen Excel File die Daten ändert. Aus 10.8.2019 wird dann 10.8.2015. Das...
Microsoft Office 10. August 2020

Mehrere Nachkommastellen angeben

Mehrere Nachkommastellen angeben: Moin ich habe zurzeit ein Problem bei Excel und zwar habe ich ein Diagramm erstellt und auch die Trendlinie eingefügt. Auch habe ich die Steigungsformel anzeigen lassen. Jedoch gibt er mir nur...
Microsoft Office 9. Dezember 2019

Excel Formel ändern bei Eingabe einer anderen Zahl

Excel Formel ändern bei Eingabe einer anderen Zahl: Hallo Leute, ich habe ein Problem beim erstellen einer Formel und wollte fragen ob es dafür eine Lösung gibt.... Kann ich irgendwie realisieren das in einer Spalte (Spalte C) in der entweder...
Microsoft Office 3. Januar 2018

Excel VBA - Prüfen ob in einer Zelle Zahlen sind

Excel VBA - Prüfen ob in einer Zelle Zahlen sind: Hallo, ich habe in Excel ein einer Spalte, in der sollten nur Zahlen (nur positive Zahlen, wie 12345) oder bestimmte Texte (wie "Ohne Auftrag") eingegeben werden. Jetzt will ich per VBA eine...
Microsoft Office 28. September 2017

Excel verändert als Zahl formattierte Daten in Währungsformat

Excel verändert als Zahl formattierte Daten in Währungsformat: Seit kurzem verändert Excel bei der Funktion Pivot Tabelle einfügen, die als Zahl und Datum / bzw. Benutzerdefinierten (Datum+Zeit) bei Erstellen von Pivot Tabellen von alleine in €. Das geht so...
Microsoft Office 7. November 2016
Excel verändert Zahlen mit mehreren Nachkommastellen bei Eingabe mit VBA solved
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.