ich möchte einen Serienbrief erstellen und dabei sowohl Adressdaten als auch Zahlenwerte und €-Beträge in diesen Serienbrief aus einer Excel-liste hernehmen.
Bei den Adressdaten klappt alles wunderbar, nur bei den Zahlenwerten und den €-Beträgen zeigt Word nicht die auf 2 Stellen gerundeten Beträge und Werte an, sondern z.B. 24,0999999999999 - statt richtig 24,10
Hat jemand eine Idee an was das liegen könnte ?
Im Excel-File wird alles richtig angezeigt und berechnet.
Vielen Dank im voraus für jegliche Hilfe.
Callahann
Word zeigt die Werte der einzufügenden Zelle an, was in Deinem Fall halt die 24,0999999999999 ist, Du müsstest also in Excel die gerundeten Zahl als eigentlichen Wert in der Zelle stehen haben. Je nachdem, wie groß der Aufwand ist, kannst Du über „Format-Auto Format-Optionen-AutoKorrektur“ angeben, welche Zahl durch was ersetzt werden soll. Ist allerdings ne Menge Arbeit und lohnt sich nur, wenn die Zahlen sich oft wiederholen.
Andere Möglichkeit: An der gewünschten Stelle eine Tabellenzelle einfügen und diese über „Tabelle-Formel-Zahlenformat“ wie gewünscht auf zwei Nachkommastellen formatieren. Geht halt nicht, wenn die Zahl im Fließtext vorkommt.
Vielleicht kannst Du auch ein Makro in Word einfügen, das die Werte wie in Excel rundet, dafür gibts hier aber andere Spezialisten, hab ich leider keine Ahnung von.
du kannst auch in excel vorher ein feld erzeugen, welches dir den jeweiligen wert auf eine gewünschte dezimalstellenanzahl rundet (funktionen -> abrunden) … das sollte dann bei der übernahme in word beibehelten werden … gruß, dynja …
Stellen gerundeten Beträge und Werte an, sondern z.B.
24,0999999999999 - statt richtig 24,10
Da nützt - entgegen anderer Antworten - das Formatieren gar nichts. Excel rechnet im Hintergrund immer auf zig Stellen und was du mit Format einstellst ist nur die Darstellung in Excel. Sobald die Zahl an Word übergeben wird, sind wieder alle Stellen dabei.
m.E. der einzige Weg ist: in EXCEL alle relevanten Zahlen auf soviel Stellen RUNDEN, wie du haben möchtest.
Dazu kannst du einen VBA-Loop schreiben, der dir die Arbeit abnimmt. Der würde etwa so aussehen:
Sub FixStellen()
Dim Zelle As Range
If Selection Is Nothing Then Exit Sub
For Each Zelle In Selection
If VarType(Zelle) = 0 Then GoTo sprung ' leere Zelle
If VarType(Zelle) = 8 Then GoTo sprung ' Textzelle
'z.B auf 2 Stellen runden
If (IsNumeric(Zelle)) Then Zelle.Value = Round(Zelle.Value, 2)
sprung:
Next Zelle
End Sub
Damit werden alle Zahlen im angezeichneten Bereich auf 2 Stellen nach dem Komma gerundet und du kannst sie getrost ins Word schicken.
Gruss
Erich
ich möchte einen Serienbrief erstellen und dabei sowohl
Adressdaten als auch Zahlenwerte und €-Beträge in diesen
Serienbrief aus einer Excel-liste hernehmen.
Bei den Adressdaten klappt alles wunderbar, nur bei den
Zahlenwerten und den €-Beträgen zeigt Word nicht die auf 2
Stellen gerundeten Beträge und Werte an, sondern z.B.
24,0999999999999 - statt richtig 24,10
Hallo Callahann,
Du mußt dazu im WORD-Serienfeld einen sog. „Formatschalter“ setzen.
Dazu zuerst mit ALT+F9 die Feldfunktionen anzeigen lassen:
statt
>
siehst Du jetzt
{ SERIENDRUCKFELD DeinFeldname }
das ergänzt Du durch manuelles Einfügen in:
{ SERIENDRUCKFELD DeinFeldname # #.##0,00 }
—>in Worten: leer + backslash + Raute + leer + Zahlenformat, wobei das Zahlenformat von der Größe Deiner Zahlen abhängt.
Für den Fall, daß das €-Zeichen auch eingefügt werden soll, muß € + Zahlenformat in Gänsefüßchen gesetzt werden:
{ SERIENDRUCKFELD DeinFeldname # „€ #.##0,00“ }
Nur einfügen! Hände weg von den geschweiften Klammern!
Mit ALT+F9 läßt sich die Feldfunktion wieder ausschalten.
nur zu meinem verständnis: ist das, was du vorschlägst, nicht dasselbe wie „funktionen -> abrunden“? … also bei mir klappt es so … wäre viel einfacher … gruß, dynja …
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]