Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
316to320
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
316to320
316to320
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zielwertsuche mit VBA

Zielwertsuche mit VBA
30.09.2003 22:23:17
WalterK
Hallo miteinander!

Gibt es eine Möglichkeit, die Zielwertsuche automatisch nach der Eingabe
in einer Zelle einer bestimmten Spalte starten und berechnen zu lassen und dann das Ergebnis in der gleichen Zeile aber einer anderen Spalte einzutragen.

Beispiel:

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zielwertsuche mit VBA
30.09.2003 23:25:06
heinz
was ist zielwertsuche?
was ist zielwertsuche, AW
01.10.2003 00:01:39
axel.meyer
hallo heinz,

wenn du eine funktion hast, die nicht nach der variablen lösbar ist, für die du gerne ein ergebniswert hättest, dann kannst du diesen wert einfach so lange in der bestehenden gleichung variieren, bis die gleichung erfüllt ist.

bsp:

y = x·(0,5 - 3/x)^x (^für exponent)

diese gleichung kannst du nicht nach x auflösen. wenn du aber für y einen wert (zB 5) vorgegeben hast und jetzt wissen möchtest, wie groß das zugehörige x ist (zT meherer lösungen möglich!), dann kannst du das über die zielwertsuche machen. das findest du unter "extras-zielwertsuche". funktioniert so: du gibst eine zelle an, die den zielwert enthält, gibst die zelle an, die wirklich geändert werden soll (hier wird iteriert) und diejenige zelle, in der die formel steht, und die sich eben dadurch ändert, daß die "änder-dich-zelle" variiert wird.

probiers einfach mal.

gruß, axel
Anzeige
AW: was ist zielwertsuche, AW
01.10.2003 12:43:55
heinz
sehr interessant - danke
...gerne. (OT)
01.10.2003 20:54:31
axel.meyer
AW: Zielwertsuche mit VBA
30.09.2003 23:53:00
axel.meyer
hi walter,

trage das nachfolgende makro in das modul der tabelle ein, in der die ZW-suche laufen soll und passe die zellen nach deinen wünschen an. daß die zeile mit der zielwertsuche doppelt vorkommt ist absicht, da es nichts schadet, sie aber zT nicht anläuft, wenn sie nur einfach drin steht.

gruß, axel
ps:
nur falls du es noch nciht wissen solltest: das modul deiner tabelle findest du so:
Alt + F11 drücken, jetzt bist du in der entwicklungsumgebung, wo man makro-codes schreiben kann. hier müßte links oben ein kleines explorer-fenster sein (wenn nicht: Strg + r). hier sind unter VBA-Projekt->Mickeysoft Excel Objekte->Tabelle... auch irgendwo deine tabelle dabei. doppelklick hierauf, rechts erscheint ein großes weißes fenster, hier kannst du den unten stehenden code mit copy-past eintragen.


Private Sub worksheet_change(ByVal target As Excel.Range)
'zelle wg der automatisch gestartet wird
If target.Address = "$L$2" Then
'zielwertsuche
Range("L6").GoalSeek Goal:=Range("L2").Value, ChangingCell:=Range("M2")
Range("L6").GoalSeek Goal:=Range("L2").Value, ChangingCell:=Range("M2")
End If
End Sub

Anzeige
AW: Zielwertsuche mit VBA
01.10.2003 07:08:37
WalterK
Hallo Axel!

Vielen Dank für Deine Mühe, es funktioniert ausgezeichnet. Danke auch für die ausführliche Hilfeanleitung.

Servus, Walter
AW: Zielwertsuche mit VBA
01.10.2003 07:23:05
WalterK
Hallo!

Noch eine Zusatzfrage!
Den Code von Axel habe ich auf die Zeile 12 angepasst und funktioniert auch bestens. Was muss ich tun, damit der Code von Zeile 12 bis Zeile 25 läuft.

Besten Dank nochmals.
Servus, Walter
AW: Zielwertsuche mit VBA
01.10.2003 08:12:27
axel.meyer
morgen walter,

man kann innerhalb der range-anweisung auf diese weise variabel arbeiten:

for i = 12 to 25
Range("L" & i)....
next i

wobei du für den teil "& i)" auch ganze formeln einsetzen kannst, solange das ergebnis eine integer-zahl ist, zB "& (i + 2)*3". auf diese weise kannst du mit einer einzigen schleife "12 to 15" fast immer alles abdecken.

solltest du mal die spalte variieren müssen, kannst du mit dieser syntax arbeiten:

Range(Cells(3,2),Cells(3,2)). das würde Range("B3") entsprechen, hat aber den vorteil, daß beide zahlen durch laufvariablen ersetzbar sind. dabei gilt: "zeile spalte", d.h. die erste zahl entspricht der zeile, die zweite der spalte.

gruß, axel
Anzeige
AW: Zielwertsuche mit VBA
01.10.2003 16:41:26
WalterK
Hallo Axel!

Kann mich leider erst jetzt melden.
Nochmals vielen Dank für die Beantwortung meiner Fragen, versuche jetzt, Deine Infomationen in die Tat umzusetzen.

Servus, Walter
AW: Zielwertsuche mit VBA
01.10.2003 16:41:41
WalterK
Hallo Axel!

Kann mich leider erst jetzt melden.
Nochmals vielen Dank für die Beantwortung meiner Fragen, versuche jetzt, Deine Infomationen in die Tat umzusetzen.

Servus, Walter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge