Zielwertsuche automatisieren [Gelöst!]

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Zielwertsuche automatisieren [Gelöst!]

Geschafft!!

von daswaldhorn » Mi, 25.05.2005 19:30

So, nach einer laaangen Suche, bei der ich auf das OOoForum.org gestoßen bin, hab ich es endlich geschafft! *freu* :D
Hier ist nun mein Ergebnis:

Code: Alles auswählen

sub Zielwertsuche
dim Ergebnis as new  com.sun.star.sheet.GoalResult
dim FormelAdresse as new  com.sun.star.table.CellAddress
dim VariablenAdresse as new  com.sun.star.table.CellAddress
dim Zielwert as integer
dim zeile as integer
   
oDoc = ThisComponent
oSheet = ThisComponent.Sheets(0)
FormelAdresse.Column = 1    'Spalte B
VariablenAdresse.Column = 0 'Spalte A
Zielwert = 5

for zeile = 0 to 9          'Zeile 1...10
VariablenAdresse.Row = zeile
FormelAdresse.Row = zeile
Ergebnis = oDoc.seekgoal(FormelAdresse,VariablenAdresse,Zielwert)

'msgbox Ergebnis.result      'Ausgabe als Messagebox
oSheet.getCellByPosition(VariablenAdresse.Column,zeile).value = Ergebnis.result
next
end sub
Die Frage ist nun, warum ist der Code soviel länger als das Excel-Teil? Das muss doch kürzer gehn :)

Grüße, Carsten

P.S: Vielen Dank an allen, die mir so hilfreich zur Seite standen 8)

Neue Erkenntnisse

von daswaldhorn » Mi, 25.05.2005 14:40

Hallo zusammen,

also ich hab mir das jetzt nochmal in Excel angesehen und mir ein Makro gebastelt, was so aussieht:

Code: Alles auswählen

Sub Zielwert()

Dim zeile As Integer

For zeile = 1 To 10
    Cells(zeile, 3).GoalSeek Goal:=Cells(zeile, 1), ChangingCell:=Cells(zeile, 2)
Next zeile

End Sub
Das Problem ist jetzt, dieses Makro in OOo zu bringen. Wer hat da eine Idee?

Grüße, Carsten

von daswaldhorn » Fr, 13.05.2005 20:59

Hi,

also das Thema ist wieder aktuell geworden, mittlerweile hab ich die Beta, aber auch da hab ich noch nix neues in diese Richtung entdeckt.

Bin für jeden Tip dankbar.

====EDIT====

Mir ist heute eingefallen, das ein Komilitone von mir das bei Excel mit einem Makro gelöst hatte: Makroaufzeichnung starten - eine Zielwertsuche durchführen - Makroaufzeichnung beenden und speichern. Dann hat er das Makro bearbeitet und eine FOR-Schleife eingebaut und bei den entsprechenden Zellennamen die Laufvariable der Schleife reingeschrieben. Mein Problem ist nun, das in dem aufgezeichneten Makro die Zellen nicht auftauchen, die ich bei dem einen Durchlauf angegeben hatte. Somit hab ich auch nix da, wo ich eine Schleife drum bauen könnte.
Hier mein Makro:

Code: Alles auswählen

REM  *****  BASIC  *****

Sub Main

End Sub


sub zielwert
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:GoalSeekDialog", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoalSeek", "", , Array())


end sub
Also die Zielwertsuche hat das Makro wohl registriert, jedenfalls steht da ein GoalSeek. Da ich aber die Syntax dieses Befehls nicht kenne, weiß ich nicht, wo ich jetzt die drei Parameter hinschreiben soll, die ich ja im Dialogfenster der Zielwertsuche angeben muss.

Vielen Dank für eure Hilfe,

Carsten

Zielwertsuche automatisieren [Gelöst!]

von daswaldhorn » Di, 18.05.2004 14:22

Hallo alle zusammen,

ich hab in OOo Calc ne tolle Tabelle angelegt und muss nun da in jeder Zeile eine Zielwertsuche machen. Das is ja ziemlich aufwendig, kann man das irgendwie automatisieren mit nem Makro? Ich hab mal einen Durchgang als Makro aufgezeichnet, aber da schau ich nich so recht durch, ich kenn mich mit der Makroprogrammierung halt noch nich aus.

Danke, Carsten

P.S. Hab schon das Forum hier durchsucht, aber nichts passendes gefunden, wenn das Thema schon mal da war, dann bitte einfach den Link posten.

Nach oben