Autor |
Beitrag |
D. Annies
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Di 07.08.07 09:15
Hi, Delpher,
ich schreibe eine Excel-Datei fort.
Mit dem Befehl
Delphi-Quelltext 1:
| r := Excel.workbooks[1].worksheets[1].UsedRange.rows.count; |
bekomme ich die Anzahl der beschriebenen Zeilen in Excel.
Also kann ich in excel.cells[r+1,...] den nächsten Eintrag machen (fortschreiben).
Aber wie kriege ich Excel dazu, die Formel zur Summenberechnung auch anzupassen. Diese ist in excel.cells[3,5] fest eingetragen.
Bisher steht da die Formel: =summe(e3:e18)
Die muss sich ja mitändern, so dass e19 mit in die Berechnung einbezogen wird.
Wer hat davon einen Plan??
Danke für Hilfe,
Detlef
|
|
ene
      
Beiträge: 779
Erhaltene Danke: 1
Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
|
Verfasst: Di 07.08.07 09:23
Moin,
versuchs mal so:
.Formula:= '=Summe(E3:E' + r + ');
_________________ Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Di 07.08.07 09:41
Moin, ene,
danke: ich habe geschrieben:
Delphi-Quelltext 1:
| excel.cells[3,3].Formula:= '=Summe(C3:C' + inttostr(r) + ')'; |
mal sehen, ob das klappt..
Gruß, Detlef
|
|
azrael_7
      
Beiträge: 78
Windows Vista
D2005 Pers. [de]
|
Verfasst: Di 07.08.07 10:30
Hab grad ein ähnlich ausgartetes Problem und suchte auch verzweifelt nach der Lösung, die Formel in eine Zelle einzutragen... Excel wollte die mir nicht ausrechnen...
Bin in mehreren Versuchen quasi zu der gleichen Lösung gekommen, wobei mir aber aufgefallen ist, dass ich mit
Delphi-Quelltext 1:
| Worksheet.Cells[tmpposition, 2].Formula := '=SUMME(A1:A100)'; |
nicht weit komme... die von mir genutzte Excel-Version springt nur auf den englischen Befehl
Delphi-Quelltext 1:
| Worksheet.Cells[tmpposition, 2].Formula := '=SUM(A1:A100)'; |
an... mit SUMME bekomme ich nur #NAME? in den zellen angezeigt... evtl. hilft das dir auch weiter...´
Edit: siehe nachfoldenden Beitrag....
_________________ -·- Es gibt Leute die bringen Freude, wohin sie gehen -·-
-·- und es gibt Leute, die bringen Freude, wenn sie gehen -·-
Zuletzt bearbeitet von azrael_7 am Di 07.08.07 10:37, insgesamt 1-mal bearbeitet
|
|
ene
      
Beiträge: 779
Erhaltene Danke: 1
Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
|
Verfasst: Di 07.08.07 10:35
Versuchs mal sonst mit einem = vor der eigentlichen Funktion.
_________________ Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
|
|
azrael_7
      
Beiträge: 78
Windows Vista
D2005 Pers. [de]
|
Verfasst: Di 07.08.07 10:37
Ups...  ja... C&P will gelernt sein
hab natürlich das '=' im Text drinne gehabt... trotzdem wills net mit SUMME... (habs oben im Code editiert)
_________________ -·- Es gibt Leute die bringen Freude, wohin sie gehen -·-
-·- und es gibt Leute, die bringen Freude, wenn sie gehen -·-
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Di 07.08.07 11:17
bei mir läufts auch noch nicht, Fehlermeldung:
Die Formel enthält Text, der nicht interpretiert werden kann
Brüt, brüt ...
P.S. wie ist das gemeint: versuchs mal mit einem = vor der eigentlichen Formel? denn auch ich kriege #TEXT
|
|
ene
      
Beiträge: 779
Erhaltene Danke: 1
Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
|
Verfasst: Di 07.08.07 11:34
Du fügst dort eine Formel in eine Zelle ein und eine Formel beginnt in Excel mit einem =, also muss das = auch Teil des Strings sein, denn sonst steht dort nur die Formel und das kann Excel nicht interpretieren. Also muss der Code auch entsprechend aufgebaut sein:
Delphi-Quelltext 1:
| .Formula:= '=Summe(E3:E' + IntToStr(r) + ')'; |
Manchmal hakt es dann auch bei den Hochkommatas, und man muss sich mit doppelten behelfen, allerdings habe ich das erst bei relativen Formeln erlebt.
_________________ Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Di 07.08.07 11:38
hi, habe jetzt folgendes gefunden:
Delphi-Quelltext 1:
| Excel.workbooks[1].worksheets[1].Range['C4','C4'].Formula := '=SUMME(C6:C' + inttostr(r+1) + ')'; |
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Di 07.08.07 11:42
klappt auch nicht.
ich habe
Delphi-Quelltext 1:
| excel.cells[4,3].Formula := '=SUMME(C6:C' + inttostr(r+1) + ')'; |
was ist daran noch falsch???
|
|
azrael_7
      
Beiträge: 78
Windows Vista
D2005 Pers. [de]
|
Verfasst: Di 07.08.07 11:47
versuch mal:
Delphi-Quelltext 1:
| excel.Worksheet.cells[4,3].Formula := '=SUM(C6:C' + inttostr(r+1) + ')'; |
Bei mir hats damit geklappt
_________________ -·- Es gibt Leute die bringen Freude, wohin sie gehen -·-
-·- und es gibt Leute, die bringen Freude, wenn sie gehen -·-
|
|
D. Annies 
      
Beiträge: 1843
windows 7
D6 Enterprise, D7 Pers und TD 2006
|
Verfasst: Di 07.08.07 12:15
Hi, azrael_7
na endlich hats mit dieser Idee geklappt!
sum statt summe
Grüße aus Lübeck,
Detlef
|
|