Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zielwertsuche automatisch 2 x ausführen

Zielwertsuche automatisch 2 x ausführen
Ralf
Hallo Forum,
ich verwende folgendes Makro für eine Zielwertsuche:
Sub Zielwertsuche()
Dim Mldg1, Titel1, Wert1
Mldg1 = "Bitte die Umlage eintragen. Die zugehörige Umlagestückzahl wird errechnet."
Mldg2 = "Bitte die Anzahl der Umlagejahre angeben."
Titel1 = "Zielwert für Umlage"
Titel2 = "Umlagejahre"
Wert1 = InputBox(Mldg1, Titel1)
Wert2 = InputBox(Mldg2, Titel2)
If IsNumeric(Wert1) Then
AddIns("Solver").Installed = True
With Application
.Iteration = True
.MaxIterations = 32767
.MaxChange = 0.000001
End With
Range("B34").GoalSeek Goal:=CDbl(Wert1), ChangingCell:=Range("B29")
'Ergebniszelle => Range("B34").goalseek
'Zielwert => Goal:=Wert1
'Variable Zelle => ChangingCell:=Range("B29")
End If
If IsNumeric(Wert2) Then
Range("B15") = Wert2
End If
End Sub

Das Makro funktioniert, nur wird der eingegebene Wert erst bei dem 2. Durchlauf genau erreicht. Wie kann ich das Makro mit dem Wert aus der Inputbox automatisch ein 2. mal durchlaufen lassen? Das Ergebnis ist ansonsten etwas unbefriedigend weil zu ungenau.
Vielen Dank für eine Rückmeldung.
Gruß
Ralf
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zielwertsuche automatisch 2 x ausführen
02.12.2011 14:13:12
Harald
Hallo Ralf,
einfach diesen Teil
Range("B34").GoalSeek Goal:=CDbl(Wert1), ChangingCell:=Range("B29")
zwei Mal hintereinander ausführen, also Code doppeln?
Harald
AW: Zielwertsuche automatisch 2 x ausführen
02.12.2011 14:22:03
Ralf
Hallo Harald,
nee, das geht leider nicht.
Ich muss dann trotzdem 2 x den Button drücken und die Werte eingeben.
Viele Grüße
Ralf
Anzeige
AW: Zielwertsuche automatisch 2 x ausführen
03.12.2011 08:18:50
fcs
Hallo Ralf,
wenn das Ergebnis korrekt berechnet wird, nach dem die Anzahl Jahre in Zelle B15 eingetragen wurde, dann solltest du diesen einfach vor der Zielwertberechnung vom Makro eintragen lassen.
Dann sollte es im 1. Makrodurchlauf funktionieren.
Gruß
Franz
PS. Die Prüfung auf Zahlenwert-Eingabe in den Input-Boxen, sollte unmittelbar nach der Eingabe erfolgen und das Makro ggf. beendet werden.
Sub Zielwertsuche()
Dim Mldg1 As String, Titel1 As String, Wert1
Dim Mldg2 As String, Titel2 As String, Wert2
Mldg1 = "Bitte die Umlage eintragen. Die zugehörige Umlagestückzahl wird errechnet."
Mldg2 = "Bitte die Anzahl der Umlagejahre angeben."
Titel1 = "Zielwert für Umlage"
Titel2 = "Umlagejahre"
Wert1 = InputBox(Mldg1, Titel1)
If Wert1 = "" Or Not IsNumeric(Wert1) Then GoTo Beenden
Wert2 = InputBox(Mldg2, Titel2)
If Wert2 = "" Or Not IsNumeric(Wert1) Then GoTo Beenden
AddIns("Solver").Installed = True
With Application
.Iteration = True
.MaxIterations = 32767
.MaxChange = 0.000001
End With
Range("B15") = Wert2
Range("B34").GoalSeek Goal:=CDbl(Wert1), ChangingCell:=Range("B29")
'Ergebniszelle => Range("B34").goalseek
'Zielwert => Goal:=Wert1
'Variable Zelle => ChangingCell:=Range("B29")
Beenden:
End Sub

Anzeige
AW: Zielwertsuche automatisch 2 x ausführen
03.12.2011 21:14:30
Ralf
Hallo Franz,
jetzt passt es. Funktioniert optimal.
Vielen Dank für Deine Unterstützung.
Viele Grüße
Ralf
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige