AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Excel Zahlen werden als Zahl formatiert müssen aber angeklickt werden
Thema durchsuchen
Ansicht
Themen-Optionen

Excel Zahlen werden als Zahl formatiert müssen aber angeklickt werden

Ein Thema von oakley · begonnen am 19. Mai 2020 · letzter Beitrag vom 21. Jun 2020
Antwort Antwort
Delphi.Narium

Registriert seit: 27. Nov 2017
2.435 Beiträge
 
Delphi 7 Professional
 
#1

AW: Excel Zahlen werden als Zahl formatiert müssen aber angeklickt werden

  Alt 19. Mai 2020, 16:01
Mir stellt sich gerade die Frage: Ist das, was in A1 steht (aus Excelsicht) überhaupt eine Zahl?

Wie kommt der Wert in die Exceltabelle? Hast Du da mal etwas Code zu?

Oder mal mit ExcelApp.Range['A1','A1'].EntireColumn.Numberformat := 'Standard'; versucht?

Englisches Excel oder Deutsches?
Wie sieht es mit Tausenderpunkt und Dezimalkomma aus? Ja nach Einstellung könnte es eventuell mit ExcelApp.Range['A1','A1'].EntireColumn.Numberformat := '0.00'; bzw. ExcelApp.Range['A1','A1'].EntireColumn.Numberformat := '#,##0.00'; funktionieren.

In Excel gibt es oben, über dem Sheet doch auch die Eingabezeile, in der man (statt in 'ner Zelle) auch seine Werte, Zeichenfolgen, Zahlen, Formeln, ... eingeben kann. Wenn es sich bei Zahlen aus Excelsicht um einen String handelt, dann ist dort (in der Regel) vor der Zahl ein einzelnes Hochkomma zu finden.

In der Zelle steht die Zahl linksbündig und ist mit 'nem grünen Dreieck gekennzeichnet. In der Eingabezeile müsste dann statt 0 ein '0,00 stehen. Dort werden Zahlen auch nicht mit Nachkommastellen angezeigt, wenn sie keine enthalten. Soll also in der Zelle eine 0 stehen und nur die Darstellung mit zwei Nachkommastellen erfolgen, so darf in der Eingabezeile auch nur eine 0 stehen. Steht dort 0,00 bin ich mit (fast) sicher, dass Excel meint hier eine Zeichenfolge vorliegen zu haben. Prüf' das doch bitte mal zuerst. Solange Excel denkt, es sei eine Zeichenfolge, kannst Du Numberformat beliebig verändern, es wird sich nix wesentliches ändern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.234 Beiträge
 
Delphi 12 Athens
 
#2

AW: Excel Zahlen werden als Zahl formatiert müssen aber angeklickt werden

  Alt 19. Mai 2020, 16:49
Zitat:
Mir stellt sich gerade die Frage: Ist das, was in A1 steht (aus Excelsicht) überhaupt eine Zahl?
Nein, das sind zwei Zahlen.

Spalte A, Zeile 1


[Edit]
Ups, du meinstest den Wert in dem Feld und nicht diese Angabe "A1".
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
oakley

Registriert seit: 15. Aug 2005
287 Beiträge
 
#3

AW: Excel Zahlen werden als Zahl formatiert müssen aber angeklickt werden

  Alt 19. Mai 2020, 17:10
In A1 steht die Überschrift also ein Text.
Und es ist ein deutsches Excel.

LG

Mirko
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.435 Beiträge
 
Delphi 7 Professional
 
#4

AW: Excel Zahlen werden als Zahl formatiert müssen aber angeklickt werden

  Alt 19. Mai 2020, 17:15
Wenn in A1 Text steht, kann das mit dem Numberformat auch nicht gehen, das ist nunmal nur für Zahlen und nicht für Text.

ExcelApp.Range['A1','A1'].EntireColumn.Numberformat heißt: Setze das Zahlenformat für alle Zeilen im Bereich von A1 bis A1. Und der Bereich umfasst halt genau nur eine Zelle. Und wenn da Text drinne steht, ist das Numberformat vollkommen überflüssig, da absolut wertlos.
  Mit Zitat antworten Zitat
mmw

Registriert seit: 10. Sep 2019
Ort: OWL
325 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Excel Zahlen werden als Zahl formatiert müssen aber angeklickt werden

  Alt 19. Mai 2020, 17:33
Hallo,
villeicht bringt das was

Application.ErrorCheckingOptions.BackgroundCheckin g = false

siehe

https://docs.microsoft.com/de-de/off...groundchecking

Gruß
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
630 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Excel Zahlen werden als Zahl formatiert müssen aber angeklickt werden

  Alt 19. Mai 2020, 18:08
Das Problem ist sicher das NumberFormat. Das muss im ANSI Format angeben werden, also im Prinzip gleich wie in Delphi. Du gibst es aber im deutschen Format an. Deine Code würde hier in der Schweiz so nicht funktionieren, da wir hier ein anderes Zahlenformat haben, sprich Tausender- und Komma-Zeichen genau umgekehrt. Das ANSI Zeichen für den Tausender ist "," und für das Komma wäre es der Punkt ".". NumberFormat='#,##0.00' müsste eigentlich so funktionieren.
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Excel Zahlen werden als Zahl formatiert müssen aber angeklickt werden

  Alt 20. Mai 2020, 00:35
Hallo,

was man machen kann, dass man den Wert nach der Formatierung überschreibt:

Delphi-Quellcode:
    zahl: Extended;

   if TryStrToFloat(ExcelApp.Range['A1','A1'].value2, Zahl) then
   begin
     ExcelApp.Range['A1','A1'].EntireColumn.NumberFormat:= '#,###.00';
     ExcelApp.Range['A1','A1'].Value2:= Zahl;
   end;

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  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:33 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