AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Excel - Schweizer Zahlenformat in deutschem Excel
Thema durchsuchen
Ansicht
Themen-Optionen

Excel - Schweizer Zahlenformat in deutschem Excel

Ein Thema von Reinhardtinho · begonnen am 8. Apr 2011 · letzter Beitrag vom 11. Apr 2011
Antwort Antwort
Benutzerbild von Reinhardtinho
Reinhardtinho

Registriert seit: 26. Feb 2007
411 Beiträge
 
Delphi 5 Enterprise
 
#1

Excel - Schweizer Zahlenformat in deutschem Excel

  Alt 8. Apr 2011, 12:57
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
Ich habe viel von meinem Geld für Alkohol, Weiber und schnelle Autos ausgegeben ... Den Rest habe ich einfach verpraßt.

George Best - 22.05.1946 - 25.11.2005 - nordirischer Fußballspieler
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: Excel - Schweizer Zahlenformat in deutschem Excel

  Alt 8. Apr 2011, 14:45
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.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Excel - Schweizer Zahlenformat in deutschem Excel

  Alt 8. Apr 2011, 14:51
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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Reinhardtinho
Reinhardtinho

Registriert seit: 26. Feb 2007
411 Beiträge
 
Delphi 5 Enterprise
 
#4

AW: Excel - Schweizer Zahlenformat in deutschem Excel

  Alt 8. Apr 2011, 15:39
Wie der Aufgebaut sein muss, einfach in Excel ausprobieren.
Das mit der Fernsteuerung ist kein Problem, aber ich bekomme es noch nicht mal im Excel selbst hin, das Zahlenformat mit geändertem Tausendertrennzeichen zu bilden. Wenn mir da jemand helfen würde, wäre das super.

Oder wir Excel etwa auf dem Server ausgeführt?
Genau das ist der Punkt. Alle Benutzer verwenden das Programm via Terminal-Session. D.h. ich kann an dem Excel oder an der systemweiten Spracheinstellung nichts ändern.
Ich habe viel von meinem Geld für Alkohol, Weiber und schnelle Autos ausgegeben ... Den Rest habe ich einfach verpraßt.

George Best - 22.05.1946 - 25.11.2005 - nordirischer Fußballspieler
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: Excel - Schweizer Zahlenformat in deutschem Excel

  Alt 8. Apr 2011, 16:23
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.
Gruß, Jo
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#6

AW: Excel - Schweizer Zahlenformat in deutschem Excel

  Alt 8. Apr 2011, 16:29
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).
Ralph

Geändert von Jumpy ( 8. Apr 2011 um 16:30 Uhr) Grund: zu langsam...
  Mit Zitat antworten Zitat
Benutzerbild von Reinhardtinho
Reinhardtinho

Registriert seit: 26. Feb 2007
411 Beiträge
 
Delphi 5 Enterprise
 
#7

AW: Excel - Schweizer Zahlenformat in deutschem Excel

  Alt 11. Apr 2011, 07:52
Danke für die Hilfe.

Ist aber wirklich sehr schade, dass es die gewünschte Funktionalität nicht gibt.
Ich habe viel von meinem Geld für Alkohol, Weiber und schnelle Autos ausgegeben ... Den Rest habe ich einfach verpraßt.

George Best - 22.05.1946 - 25.11.2005 - nordirischer Fußballspieler
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#8

AW: Excel - Schweizer Zahlenformat in deutschem Excel

  Alt 11. Apr 2011, 08:41
du kannst für jede Zelle das Zahlenformat unterschiedlich angeben...
Code:
=TEXT(E219; "[$SFr.-807] #,##0.00")
  Mit Zitat antworten Zitat
Benutzerbild von Reinhardtinho
Reinhardtinho

Registriert seit: 26. Feb 2007
411 Beiträge
 
Delphi 5 Enterprise
 
#9

AW: Excel - Schweizer Zahlenformat in deutschem Excel

  Alt 11. Apr 2011, 09:07
du kannst für jede Zelle das Zahlenformat unterschiedlich angeben...
Code:
=TEXT(E219; "[$SFr.-807] #,##0.00")
Wenn ich das eingebe erhalte ich z.B.:
Code:
SFr. 1234,56000
Ist also auch nicht das gewünschte Ergebnis.
Ich habe viel von meinem Geld für Alkohol, Weiber und schnelle Autos ausgegeben ... Den Rest habe ich einfach verpraßt.

George Best - 22.05.1946 - 25.11.2005 - nordirischer Fußballspieler
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#10

AW: Excel - Schweizer Zahlenformat in deutschem Excel

  Alt 11. Apr 2011, 09:15
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"
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz