![]() |
Excel - Schweizer Zahlenformat in deutschem Excel
Hi,
Auf einem deutschen MS Server 2008 ist ein deutsches MS Office-Paket installiert. Ich habe die Excel-Typenbibliothek importiert und möchte aus meinem Programm heraus Geldbeträge in einem Excel-Dokument anlegen und auch entsprechend formatieren. Wie kann ich ein benutzerdefiniertes Zahlenformat in Excel anlegen und dort unterschiedliche Zeichen für Tausender- und Dezimaltrennzeichen verwenden. In Excel selbst gibt es die Möglichkeit, diese Werte fest einzustellen, aber ich muss flexibel sein, da manchmal Euro verwendet wird und manchmal SFr. Statt 1.678,79 € muss ich SFr. 1'678.79 darstellen. Vielen Dank für eure Hilfe |
AW: Excel - Schweizer Zahlenformat in deutschem Excel
Also ich vermute mal, du steuerst Excel mit deinem Programm fern, ala Ole oder so?
Dann weißt du ja den Excel-Zellen irgendwo den Betrag zu. In dem Zusammenhang kannst du auch der Zelle oder einem Bereich (Range) über die Eigenschaft NumberFormat einen Formatstring zuweisen. Wie der Aufgebaut sein muss, einfach in Excel ausprobieren. |
AW: Excel - Schweizer Zahlenformat in deutschem Excel
Ich denke, das ist überhaupt kein Problem, da das Datums/Zahlen-Format durch den lokalen Rechner auf dem das Programm ausgeführt wird, bestimmt wird.
Oder wir Excel etwa auf dem Server ausgeführt? Gruß K-H |
AW: Excel - Schweizer Zahlenformat in deutschem Excel
Zitat:
Zitat:
|
AW: Excel - Schweizer Zahlenformat in deutschem Excel
Ohne die Systemeinstellung für Dezimaltrennzeichen zu ändern kannst Du nur tricksen,
also Umformatierung zu Text oder Zahl * 100 und dann die gewünschten Formatangaben vornehmen. In beiden Fällen geht der wirkliche Wert natürlich dahin. Notfalls kann man für weitere Berechnung den Wert in einer zusätzlichen Spalte als Zahl vorhalten. Für das Format selbst kannst Du Dir ja ein Makro aufzeichnen, während Du es einstellst. |
AW: Excel - Schweizer Zahlenformat in deutschem Excel
Selection.NumberFormat = "[$SFr.-807] #,##0.00"
Das ist der Formatstring, den Excel selber generiert hat. Komma und Punkt werden dabei je nach Systemeinstellung automatisch angepasst und wenn/da du darauf nicht zugreifen kannst, hilft nur ein Workarround (siehe jobo). |
AW: Excel - Schweizer Zahlenformat in deutschem Excel
Danke für die Hilfe.
Ist aber wirklich sehr schade, dass es die gewünschte Funktionalität nicht gibt. |
AW: Excel - Schweizer Zahlenformat in deutschem Excel
du kannst für jede Zelle das Zahlenformat unterschiedlich angeben...
Code:
=TEXT(E219; "[$SFr.-807] #,##0.00")
|
AW: Excel - Schweizer Zahlenformat in deutschem Excel
Zitat:
Code:
Ist also auch nicht das gewünschte Ergebnis.
SFr. 1234,56000
|
AW: Excel - Schweizer Zahlenformat in deutschem Excel
Ja, aber das (Haupt-)Problem, wie ich es Verstanden habe ist, das als Tausenderseparator ein Hochkommata genommen werden soll und das bekommt man Excel nicht beigebracht. Im Formatstring nimmt man immer Komma als Tsdseparator und Punkt um die Nachkommastellen abzutrennen.
Excel selber entscheidet dann aufgrund der Systemeinstellungen wie es das dann umsetzt/darstellt. Ein Workarround ist mir noch eingefallen, der aber nur funktioniert, wenn die Daten in Excel nicht mehr "angefasst" werden. Man kann die Größe der Zahl ermitteln und die benötigte Anzahl an Hochkommat in den Formatstring mit einbauen: Zahl < Tsd: Selection.NumberFormat = "[$SFr.-807] ##0.00" Mill. > Zahl > Tsd: Selection.NumberFormat = "[$SFr.-807] #'###0.00" Mill. < Zahl: Selection.NumberFormat = "[$SFr.-807] #'####'###0.00" |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz