Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Excel NumberFormat Minus Wert in Rot (https://www.delphipraxis.net/204918-excel-numberformat-minus-wert-rot.html)

rokli 14. Jul 2020 09:03

Excel NumberFormat Minus Wert in Rot
 
Guten Morgen zusammen!
Die Chefin will ne Auswertung - natürlich in Excel und natürlich sehr hübsch aufbereite!

Meine Excel Version: 2016, deutsch
Mein Delphi: Delphi 10 (Seattle)

An sich funktioniert das mit der Formatierung in Excel ganz gut - aber von vorn:

Die Datenbank wird befragt und erzeugt mir den Inhalt der späteren Excel Tabelle.
Die Daten gebe ich dann per OLE an Excel aus und formatiere nach den Vorgaben.

Hier ein Ausschnitt aus meinem Codeing:

Delphi-Quellcode:
   
   oleExcelApp.Range['N2','N2'].Font.Bold      := true;
   oleExcelApp.Range['A16','A16'].Font.Italic   := true;

   oleExcelApp.Range['C3','C30'].NumberFormat := '#.##0,00';
   oleExcelApp.Range['F3','F30'].NumberFormat := '#.##0,00_ ;[Rot]-#.##0,00';
In der vorletzten Zeile ist für den Zeilenbereich von C3 bis C30 das Zahlenformat 4 Ziffern vorm Komma und 2 Ziffern nach dem Komma angegeben - funktioniert.
In der letzten Zeile möchte ich den Zahlenbereich im gleich Format anzeigen, aber beim Auftreten von negativen Zahlen, sollen diese in rot angezeigt werden - funktioniert NICHT!

Der Macrorecorder von Excel zeichnet das auf (ist natürlich kein Delphi-Code):
Delphi-Quellcode:
Sub Makro1()
'
' Makro1 Makro
'

'
    Range("F3:F30").Select
    Selection.NumberFormat = "#,##0.00_ ;[Red]-#,##0.00 "
End Sub
Und wenn ich das so übernehme erhalte ich eine Fehlermeldung wegen dem englischen Begriff "RED" (das ist auch schon oft hier diskutiert worden). Ersetze ich die Farbe durch den deutschen Begriff "ROT" ist die Fehlermeldung weg - aber es funktioniert nicht; ohne Meldung, ohne irgendwas.

Hat schon mal jemand dieses Format erfolgreich umsetzen können? Und wie muss dass dann programmiert werden?

Danke für Eure Mühe!

Jumpy 14. Jul 2020 11:08

AW: Excel NumberFormat Minus Wert in Rot
 
Es gibt auch .NumberFormalLocal und da könnte das mit Rot dann vielleicht klappen.

rokli 14. Jul 2020 14:58

AW: Excel NumberFormat Minus Wert in Rot
 
Hey Jumpy,

danke für den Hinweis, aber es funktioniert auch damit nicht.

hoika 14. Jul 2020 15:16

AW: Excel NumberFormat Minus Wert in Rot
 
Hallo,
kennst du das schon?

https://stackoverflow.com/questions/...nt-localized-v

Weiter unten habe ich auch "German" gelesen.

Chemiker 14. Jul 2020 22:25

AW: Excel NumberFormat Minus Wert in Rot
 
Hallo rokli,

wenn ich deinen Formatstring aus dem Delphi-Quellcode übernehmen, funktioniert die Formatierung wie sie soll. Ich arbeite mit

Win 10, Excel 365 und Delphi 10.3 oder
Win Vista, Excel 2007 mit Delphi 2006
macht keinen Unterschied.

Vielleicht kannst du das "funktioniert nicht" beschreiben.

Bis bald Chemiker

Blup 15. Jul 2020 12:41

AW: Excel NumberFormat Minus Wert in Rot
 
Das Numberformat beschreibt wie Zahlen dargestellt werden.

Wenn der Inhalt der Zellen (Datentyp) aber als "Text" und nicht als "Zahl" angelegt wurde, wird das Numberformat nicht angewendet.

rokli 16. Jul 2020 09:56

AW: Excel NumberFormat Minus Wert in Rot
 
Guten Morgen Zusammen!

Also mit NumberFormatLocal klappt die dargestellte Version - vielen Dank für Eure Denkanstöße!

Delphi-Quellcode:
.NumberFormatLocal := '#.##0,00_ ;[Rot]-#.##0,00';


(wird zeit, dass Urlaub gibt :pale: )


Alle Zeitangaben in WEZ +1. Es ist jetzt 23: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