AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Formel in Excel wird nicht übergeben

Ein Thema von Christophe · begonnen am 5. Okt 2006 · letzter Beitrag vom 6. Okt 2006
Antwort Antwort
Christophe

Registriert seit: 5. Okt 2006
38 Beiträge
 
#1

Formel in Excel wird nicht übergeben

  Alt 5. Okt 2006, 14:34
Hallo

Wie übergebe ich eine WENN Formel an Excel?

excel.Sheets['Inkasso Länderliste'].Cells[x + emptyCell,4].Formula := '=WENN(C'+IntToStr(x + emptyCell)+' > B'+IntToStr(x + emptyCell)+';"Die eingegebene Menge ist zu gross;)"'; Wenn ich die Formel so übergebe bekomme ich einen OLE Fehler! Nach meiner Fehlersuche habe ich rausgefunden das die ; und die " probleme bei der übergabe verursachen.

Grüsse Christophe
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Formel in Excel wird nicht übergeben

  Alt 5. Okt 2006, 18:09
Hallo

die Formelnamen müssen englsich sein, nicht deutsch, auch wenn du dann wieder im Excelblatt die dt. Bezeichnung siehst, übergeben mußt du die Formel mit "if".

Mfg Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
Christophe

Registriert seit: 5. Okt 2006
38 Beiträge
 
#3

Re: Formel in Excel wird nicht übergeben

  Alt 6. Okt 2006, 08:13
Hallo

Erstmal danke für eure Hilfe. Aber das mit der Formel geht leider nicht. Das Problem ist das die Formel sobald ich einen ';' oder '"' einfüge ich einen Fehler erhalte --> Meldung: 'OLE-Fehler 800A03EC' und dann is aus die Maus. Die Formel wird sauber übergeben wenn ich nur

... '=IF(C'+IntToStr(x + emptyCell)+' > B'+IntToStr(x + emptyCell)+' einfüge. Sobald ich den Rest der Formel übergebe:

;"Die eingegebene Menge ist zu gross;)"' erhalte ich diesen Fehler. Es liegt also nur noch am letzten teil dieser Formel. Aber was ich auch Probiere es will nicht gelingen.

HILFE
  Mit Zitat antworten Zitat
volkerw

Registriert seit: 28. Nov 2005
Ort: Witten
26 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Formel in Excel wird nicht übergeben

  Alt 6. Okt 2006, 08:37
Hallo Christophe,
da hast Du einen kleinen Verdreher drin, so sollte es gehen:;"Die eingegebene Menge ist zu gross;")' Gruß Volker
  Mit Zitat antworten Zitat
Christophe

Registriert seit: 5. Okt 2006
38 Beiträge
 
#5

Re: Formel in Excel wird nicht übergeben

  Alt 6. Okt 2006, 09:13
Hmmm ... das wars leider auch nicht. Hier nochmal die ganze Codezeile:

excel.Sheets['tabelle1'].Cells[x + emptyCell,4].Formula := '=IF(C'+IntToStr(x + emptyCell)+' > B'+IntToStr(x + emptyCell)+';"Die eingegebene Menge ist zu gross";"")'; Vom Syntax her sollte es stimmen. Aber komme nicht drauf wieso ole zickt.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Formel in Excel wird nicht übergeben

  Alt 6. Okt 2006, 09:16
Hallo Christophe,

x ist dein Zeilenindex? Ich würde es so versuchen:

Delphi-Quellcode:
const
  FT = '=IF(C%d > B%d, "Die eingegebene Menge ist zu gross")';
var
  iRow: Integer;
begin
  // ...
  iRow := x; // wäre y nicht besser gewesen?
  excel.Sheets['Inkasso Länderliste'].Cells.Item[iRow, 4].Formula := Format(FT, [iRow, iRow]);
  // ...
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Formel in Excel wird nicht übergeben

  Alt 6. Okt 2006, 09:16
Parameter werden wahrscheinlich mit "," getrennt.
";" benutzt Office in der UI eigentlich nur wenn man lokalisierte Versionen benutzt oder wenn der Dezimaltrenner in Windows "," ist.
Die Formel selbst sollte also ganz einfach nicht die eingedeutschte Variante enthalten.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Ferber

Registriert seit: 9. Mär 2005
Ort: Wien Umgebung
155 Beiträge
 
Delphi 2006 Architect
 
#8

Re: Formel in Excel wird nicht übergeben

  Alt 6. Okt 2006, 09:59
Hallo Christophe.
IMHO sehr hilfreich ist es, die Formel in EXCEL zu formulieren und dann mit Delphi zu lesen.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var st:String;
begin
  st:=Excel.ActiveSheet.Cells[1,1].Formula;
  MessageDlg(st,mtInformation,[mbOk],0);
  Excel.ActiveSheet.Cells[2,1].Formula:=st; // Test
end;
Damit siehst Du sofort, wie's Excel will.
Otto
  Mit Zitat antworten Zitat
Christophe

Registriert seit: 5. Okt 2006
38 Beiträge
 
#9

Re: Formel in Excel wird nicht übergeben

  Alt 6. Okt 2006, 10:16
JO ELVIS das war die lösung .... coole sache.

Ich danke euch.
  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 18: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