VBA – GoalSeek in VBA verwenden
In this Article
Dieses Tutorial zeigt Ihnen, wie Sie GoalSeek in VBA verwenden können.
GoalSeek ist eines der in Excel verfügbaren Was-Wenn-Analysetools, mit dem Sie verschiedene Werte auf Formeln anwenden und die Ergebnisse vergleichen können.
Syntax von GoalSeek
Die GoalSeek-Funktion hat 2 Argumente und zwar Goal (die Zelle, die Sie ändern möchten) und ChangingCell (die Zelle, die geändert werden muss). Die Funktion gibt True oder False zurück (True, wenn das Goal gefunden wird, und False, wenn das Goal nicht gefunden wird).
GoalSeek in VBA verwenden
Betrachten Sie das folgende Arbeitsblatt.
Um die monatlich erforderliche Zahlungsrate Durch Änderung der Laufzeit in Monaten zu ändern, können wir die folgende Prozedur schreiben.
Sub LaufzeitErhoehen()
'B6 zu 100 machen, indem B5 geändert wird
Range("B6").GoalSeek Goal:=100, ChangingCell:=Range("B5")
End Sub
Beachten Sie, dass es eine Formel in Zelle B6 und einen Wert in Zelle B5 geben muss.
GoalSeek mit einer If-Anweisung verwenden
Sie können GoalSeek auch mit einer If-Anweisung verwenden, um den Ablauf Ihres Codes zu steuern.
Sub LaufzeitErhoehen()
'B6 durch Ändern von B5 auf 100 setzen und eine Meldung an den Benutzer zurückgeben
If Range("B6").GoalSeek(Goal:=100, ChangingCell:=Range("B5")) = True Then
MsgBox "Neue Laufzeit wurde erfolgreich gefunden"
Else
MsgBox ("Neuer Laufzeitpunkt wurde nicht gefunden")
End If
End Sub