Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1328to1332
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
Inhaltsverzeichnis

Makro Zielwertsuche

Makro Zielwertsuche
13.09.2013 16:58:05
David
hi,
das zu lösende problem ist folgendes.
die differenz zwischen zwei zahlen (A1 und A2)muss ausgeglichen werden. dabei soll die zahl, die größer ist (A2), verringert werden.
Die Zusammensetzung aus A2 besteht unter anderem aus A5.
A5 berechnet sich aus einer harten Zahl (A3) und einem Prozentsatz (A4). Um also A2 zu verringern muss lediglich der Prozentsatz A4 verringert werden. Die Höhe um die sich A4 ändern soll muss also mit der zielwertsuche gemacht werden. der zielwert (A5) ist A3 abzüglich der differenz aus A1 und A2. der zu verändernde wert ist A4. und die zelle in der der neue Prozentsatz eingetragen werden soll ist A6.
dabei soll per knopfdruck in dem sheet der makro zielwertsuche betätigt werden um dann den neuen prozentwert zu sehen mit dem gilt: A1=A2
dafür habe ich folgenden makro:
Sub Zielwertsuche()
ThisWorkbook.Sheets("1").Activate
Range("A6").GoalSeek Goal:="A5", ChangingCell:=Sheets("Verprobung").Range("A4")
End Sub
Aber da funzt garnichts!
würde mich über jede hilfe freuen
gruß
dave

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Zielwertsuche
17.09.2013 16:05:00
fcs
Hallo David,
die Zelle, deren Zielwert berechnet werden soll (bei dir A6 muss bei der Zielwert suche eine Formel enthalten. Goal ist das gewünschte Ergebnis der Formel, Changingcell ist die Zelle, deren Wert verändert werden soll, um das Goal zu erreichen.
Das solte dann ungefähr so funktionieren:
Sub Zielwertsuche()
Dim cdblZinssatz As Double
ThisWorkbook.Sheets("1").Activate
cdblZinssatz = Sheets("Verprobung").Range("A4") 'Wert merken
Range("A6").FormulaLocal = "=RUNDEN(A1-A2;5)"
Range("A6").GoalSeek Goal:=0, ChangingCell:=Sheets("Verprobung").Range("A4")
Range("A6") = Sheets("Verprobung").Range("A4")
Sheets("Verprobung").Range("A4") = cdblZinssatz 'evtl. weglassen
End Sub
Ob du den alten Wert in der geänderten Zelle wieder herstellenwillst, das mus du dann noch entscheiden.
Gruß
Franz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige