Autor Thema: Export von Formel nach Excel  (Gelesen 2234 mal)

Offline Ole2000

  • Frischling
  • *
  • Beiträge: 25
Export von Formel nach Excel
« am: 11.08.05 - 09:19:41 »
Ich versuche Formeln, die mit Script dynamisch Zusammengesetzt werden nach Excel zu übertragen.
Die Übertragung von Daten in die Zellen klappt.
Bei der übertragung von Formeln jedoch sehe ich z.B. folgendes:

Im Scriptdebugger: E10-C10-A10
In Excel kommt an: 'E10' - $10:$10-'A10'

Ich hab in den zahlreichen Beiträgen zum Thema Excel schon viele guten Anregungen gefunden, aber nicht die Lösung für mein Problem.

Vielleicht kann ja jemand helfen.

Vielen Dank schon mal vorab.

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Export von Formel nach Excel
« Antwort #1 am: 11.08.05 - 09:25:53 »
Hi,

ein bisschen Code würde uns die Sache sehr erleichtern. Alles andere ist Kaffeesatzleserei bzw. ein Befragen der Kristallkugel. Und die ist heute etwas beschlagen. ;D


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Ole2000

  • Frischling
  • *
  • Beiträge: 25
Re: Export von Formel nach Excel
« Antwort #2 am: 11.08.05 - 09:55:24 »
Das Script, welches die Formel einträgt
xlRange: die Zielzelle in Execl, wird auch gefüllt
xlFormula: die eintztragende Formel

xlSheet1.Range(xlRange).FormulaR1C1 = xlFormula

Die Formel:
rc = MakeFormula("="+"D" + Cstr(xl_DataRowAkt) + "-" + "C" + Cstr(xl_DataRowAkt) + "-" + "E" + Cstr(xl_DataRowAkt) + ")" )

xl_DataRowAkt ist ein Integer

Ergibt D10 - C10 - E10 im Debugger, also korrekt
in Excel steht exact das hier: ='D16'-$P:$P-'E16'

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Export von Formel nach Excel
« Antwort #3 am: 11.08.05 - 13:49:56 »
Hi,

die Kristallkugel ist nicht viel klarer geworden.

Was macht MakeFormula und wie sieht denn da das Ergebnis aus? Wie wird xlFormula gefüllt und was ist das für ein Variablentyp.

Man müsste die Zusammenhänge besser erkennen können.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Ole2000

  • Frischling
  • *
  • Beiträge: 25
Re: Export von Formel nach Excel
« Antwort #4 am: 11.08.05 - 15:12:38 »
Das ist der Inhalt einer Function MakeFormula(xlRange As String, xlFormula as String)
Mehr steht nicht drinne, dieses Script soll die Formel nach Excel übertragen
Die Formel kommt dort auch an, allerdings nur wie unten beschrieben.

xlSheet1.Range(xlRange).FormulaR1C1 = xlFormula


Diese Formel wird an die Function übergeben. Sie wird aus statischen Komponenten und der Variablen xl_DataRowAkt gebildet(Integer)
rc = MakeFormula("="+"D" + Cstr(xl_DataRowAkt) + "-" + "C" + Cstr(xl_DataRowAkt) + "-" + "E" + Cstr(xl_DataRowAkt) + ")" )


Ergibt D10 - C10 - E10 im Debugger, also korrekt
in Excel steht exact das hier: ='D16'-$P:$P-'E16'
   

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Export von Formel nach Excel
« Antwort #5 am: 11.08.05 - 15:58:46 »
Hi,

irgendwas passt da aber nicht zusammen.

Der Aufruf der Funktion soll so sein: MakeFormula(xlRange As String, xlFormula as String)

Du rufst sie aber so auf: MakeFormula("="+"D" + Cstr(xl_DataRowAkt) + "-" + "C" + Cstr(xl_DataRowAkt) + "-" + "E" + Cstr(xl_DataRowAkt) + ")" )
 
Mir fehlt hier die Angabe für den Parameter xRange


Axel

Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Ole2000

  • Frischling
  • *
  • Beiträge: 25
Re: Export von Formel nach Excel
« Antwort #6 am: 11.08.05 - 17:20:10 »
Sorry, war nich ganz korrekt von mir. Der Parameter wird natürlich mit übergeben. ("H" + Cstr(xl_DataRowAkt))
Die Zelle für die Formel wird ja auch korrekt angesprungen. Es ist nur das  Format der Formel nach dem Export.

Offline Ole2000

  • Frischling
  • *
  • Beiträge: 25
Re: Export von Formel nach Excel
« Antwort #7 am: 12.08.05 - 09:38:38 »
@Axel Haste was rausfinden können?

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Export von Formel nach Excel
« Antwort #8 am: 12.08.05 - 09:48:39 »
Hi,

ich hab's bei mir mal so ähnlich nachgestellt.

Dabei ist mir zuerstmal eine falsche Klammer am Ende der Formel aufgefallen.

"="+"D" + Cstr(xl_DataRowAkt) + "-" + "C" + Cstr(xl_DataRowAkt) + "-" + "E" + Cstr(xl_DataRowAkt) + ")"

Das ergibt das hier:  =D10-C10-E10)


Mein Code sieht so aus:

...
Set objExcel = CreateObject("Excel.Application")
Call objExcel.Workbooks.Add
Set objSheet = objExcel.ActiveWorkbook.Worksheets(1)

strTemp = "="+"D" + Cstr(xl_DataRowAkt) + "-" + "C" + Cstr(xl_DataRowAkt) + "-" + "E" + Cstr(xl_DataRowAkt)
objSheet.Range("A1").Value = strTemp
...

Damit habe ich die Formel auch so in der Zelle A1 stehen. Das Zellformat ist Standard.


Axel



 
 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Ole2000

  • Frischling
  • *
  • Beiträge: 25
Re: Export von Formel nach Excel
« Antwort #9 am: 12.08.05 - 10:09:39 »
Oh Mann !!!
Es lag am ".Value"
Nun gehts bei mir auch

Was hat es mit  objSheet.Range("A1").FormulaR1C1 auf sich???
Damit hatte ich das ja vergeblich versucht !

P.S. Vielen Dank!!!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz