Discussion:
Wie kann man die Zielwertberechnung in einer Formel darstellen?
(zu alt für eine Antwort)
Micha
2007-02-11 15:18:00 UTC
Permalink
Ich brauche für eine Berechnung eine Zahl, die ich nur durch die
Zielwertsuche von Excel erhalte. Wie kann ich diesen Vorgang automatisieren,
d.h. die Zielwertsuche als Formel in das Feld schreiben?
Klaus "Perry" Pago
2007-02-11 15:51:39 UTC
Permalink
Post by Micha
Ich brauche für eine Berechnung eine Zahl, die ich nur durch die
Zielwertsuche von Excel erhalte. Wie kann ich diesen Vorgang
automatisieren,
d.h. die Zielwertsuche als Formel in das Feld schreiben?
Hallo Micha,
hier werden ein Hallo und ein Gruß gern gesehen.

Die Zielwertsuche lässt sich so wohl nur mit VBA realisieren - wirf 'mal den
Makrorekorder an und zeichne deine Lösungsschritte auf.

Gruß
Klaus
Micha
2007-02-11 16:26:00 UTC
Permalink
Hallo Klaus,

entchuldigt bitte die fehlende Begrüßung! Ist sonst nicht meine Art. Ich
wurde beim Schreiben der Frage durch soviele Anmelde- und
Bestätigungsroutinen "geschleust",, daß ich wohl nur noch endlich die frage
loswerden wollte :-)

Zu Deinem Vorschlag: Ich bin inzwischen auch schon drauf gekommen, daß es
mit einem Makro gehen könnte und hab eines aufgezeichnet. Nur: wie schaffe
ich es, daß es in dem Feld, in dem das Ergebnis der Zielwertsuche stehen
soll, auch automatisch ausgeführt wird? Ich möchte erreichen, daß bei
Abänderung der Aussgangswerte der Berechnung an dieser bestimmen Stelle
automatisch das zu erreichende Ergebnis steht.

Hab ich das jetzt klar ausgedrückt? Weiß nicht so recht, aber
vielleicht/hoffentlich kannst Du etwas damit anfangen?!

Vielen Dank schon jetzt für die Hilfe und einen Gruß aus dem grauen
verregneten Ruhrgebiet!

Michael
Post by Klaus "Perry" Pago
Post by Micha
Ich brauche für eine Berechnung eine Zahl, die ich nur durch die
Zielwertsuche von Excel erhalte. Wie kann ich diesen Vorgang
automatisieren,
d.h. die Zielwertsuche als Formel in das Feld schreiben?
Hallo Micha,
hier werden ein Hallo und ein Gruß gern gesehen.
Die Zielwertsuche lässt sich so wohl nur mit VBA realisieren - wirf 'mal den
Makrorekorder an und zeichne deine Lösungsschritte auf.
Gruß
Klaus
Klaus "Perry" Pago
2007-02-11 17:09:28 UTC
Permalink
Post by Micha
Hallo Klaus,
entchuldigt bitte die fehlende Begrüßung! Ist sonst nicht meine Art. Ich
wurde beim Schreiben der Frage durch soviele Anmelde- und
Bestätigungsroutinen "geschleust",, daß ich wohl nur noch endlich die frage
loswerden wollte :-)
Zu Deinem Vorschlag: Ich bin inzwischen auch schon drauf gekommen, daß es
mit einem Makro gehen könnte und hab eines aufgezeichnet. Nur: wie schaffe
ich es, daß es in dem Feld, in dem das Ergebnis der Zielwertsuche stehen
soll, auch automatisch ausgeführt wird? Ich möchte erreichen, daß bei
Abänderung der Aussgangswerte der Berechnung an dieser bestimmen Stelle
automatisch das zu erreichende Ergebnis steht.
Hab ich das jetzt klar ausgedrückt? Weiß nicht so recht, aber
vielleicht/hoffentlich kannst Du etwas damit anfangen?!
Hallo Micha,

du benötigst "Private Sub Worksheet_SelectionChange()" - wechsel aus dem
Excelsheet mit Alt-F11 in die Enttwicklungsumgebung . Doppelklick auf die
gewünschteTabelle im Projektfenster (links oben) und von dort oberhalb des
Code-Bereichs (rechtes Fenster) von "Allgemein" auf "Worksheet" wechseln und
dort "Change" aussuchen. Das Makro wird dann mit jeder Veränderung
ausgeführt. Das Klassenmodul wird dann mit der Arbeitsmappe gespeichert.

Gruß
Klaus
Micha
2007-02-11 17:46:00 UTC
Permalink
Post by Klaus "Perry" Pago
Post by Micha
Hallo Klaus,
entchuldigt bitte die fehlende Begrüßung! Ist sonst nicht meine Art. Ich
wurde beim Schreiben der Frage durch soviele Anmelde- und
Bestätigungsroutinen "geschleust",, daß ich wohl nur noch endlich die frage
loswerden wollte :-)
Zu Deinem Vorschlag: Ich bin inzwischen auch schon drauf gekommen, daß es
mit einem Makro gehen könnte und hab eines aufgezeichnet. Nur: wie schaffe
ich es, daß es in dem Feld, in dem das Ergebnis der Zielwertsuche stehen
soll, auch automatisch ausgeführt wird? Ich möchte erreichen, daß bei
Abänderung der Aussgangswerte der Berechnung an dieser bestimmen Stelle
automatisch das zu erreichende Ergebnis steht.
Hab ich das jetzt klar ausgedrückt? Weiß nicht so recht, aber
vielleicht/hoffentlich kannst Du etwas damit anfangen?!
Hallo Micha,
du benötigst "Private Sub Worksheet_SelectionChange()" - wechsel aus dem
Excelsheet mit Alt-F11 in die Enttwicklungsumgebung . Doppelklick auf die
gewünschteTabelle im Projektfenster (links oben) und von dort oberhalb des
Code-Bereichs (rechtes Fenster) von "Allgemein" auf "Worksheet" wechseln und
dort "Change" aussuchen. Das Makro wird dann mit jeder Veränderung
ausgeführt. Das Klassenmodul wird dann mit der Arbeitsmappe gespeichert.
Gruß
Klaus
Hallo Klaus,

schon wieder danke, aber ich bin wohl zu blöde.... Erst Mal: in dieser
"Entwicklungsumgebung" war ich noch niemals.... schäm...... aber es geht
auf... Nur: "Worksheet" gibts nicht - nur "Workbook" und da erscheint dann
das:

Private Sub Workbook_Open()

End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

End Sub

Und wenn ich das nun wieder schließe ändert sich gar nichts......

Hab schon tausend postings hier durchgelesen inzwischen und dabei gelesen,
daß man die Exec-Version angeben soll: ist Excel 2003 SP2.....

Gruß
Michael
Micha
2007-02-11 18:22:00 UTC
Permalink
Hallo Klaus,

JETZT HAB ICH's RAUSGEFUNDEN!!! Mußte auf nicht auf die Tabelle, sondern das
Arbeitsblatt gehen und dann unter CHANGE den Text vom Makro einfügen, hm
?! Jedenfalls läufts jetzt tatsächlich!

Bin superfroh und wünsche Dir noch einen schönen "Restsonntag"

Gruß
Michael
Post by Micha
Post by Klaus "Perry" Pago
Post by Micha
Hallo Klaus,
entchuldigt bitte die fehlende Begrüßung! Ist sonst nicht meine Art. Ich
wurde beim Schreiben der Frage durch soviele Anmelde- und
Bestätigungsroutinen "geschleust",, daß ich wohl nur noch endlich die frage
loswerden wollte :-)
Zu Deinem Vorschlag: Ich bin inzwischen auch schon drauf gekommen, daß es
mit einem Makro gehen könnte und hab eines aufgezeichnet. Nur: wie schaffe
ich es, daß es in dem Feld, in dem das Ergebnis der Zielwertsuche stehen
soll, auch automatisch ausgeführt wird? Ich möchte erreichen, daß bei
Abänderung der Aussgangswerte der Berechnung an dieser bestimmen Stelle
automatisch das zu erreichende Ergebnis steht.
Hab ich das jetzt klar ausgedrückt? Weiß nicht so recht, aber
vielleicht/hoffentlich kannst Du etwas damit anfangen?!
Hallo Micha,
du benötigst "Private Sub Worksheet_SelectionChange()" - wechsel aus dem
Excelsheet mit Alt-F11 in die Enttwicklungsumgebung . Doppelklick auf die
gewünschteTabelle im Projektfenster (links oben) und von dort oberhalb des
Code-Bereichs (rechtes Fenster) von "Allgemein" auf "Worksheet" wechseln und
dort "Change" aussuchen. Das Makro wird dann mit jeder Veränderung
ausgeführt. Das Klassenmodul wird dann mit der Arbeitsmappe gespeichert.
Gruß
Klaus
Hallo Klaus,
schon wieder danke, aber ich bin wohl zu blöde.... Erst Mal: in dieser
"Entwicklungsumgebung" war ich noch niemals.... schäm...... aber es geht
auf... Nur: "Worksheet" gibts nicht - nur "Workbook" und da erscheint dann
Private Sub Workbook_Open()
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
End Sub
Und wenn ich das nun wieder schließe ändert sich gar nichts......
Hab schon tausend postings hier durchgelesen inzwischen und dabei gelesen,
daß man die Exec-Version angeben soll: ist Excel 2003 SP2.....
Gruß
Michael
Klaus "Perry" Pago
2007-02-11 19:23:06 UTC
Permalink
Post by Micha
Hallo Klaus,
JETZT HAB ICH's RAUSGEFUNDEN!!! Mußte auf nicht auf die Tabelle, sondern das
Arbeitsblatt gehen und dann unter CHANGE den Text vom Makro einfügen, hm
?! Jedenfalls läufts jetzt tatsächlich!
Bin superfroh und wünsche Dir noch einen schönen "Restsonntag"
Hallo Micha,
wünsch ich dir auch - schön dass du es hinbekommen hast.

Falls du den Zielwert nicht fest im Makro sondern variabel über einen
Zellenwert vorgeben willst, schau dir folgende zwei Zeilen an. Die erste
Zeile stammt vom Makrorekorder:

Range("A1").GoalSeek Goal:=100, ChangingCell:=Range("B1")
Range("A1").GoalSeek Goal:=Range("C1"), ChangingCell:=Range("B1")

Gruß
Klaus

Loading...