Solver über Makro ausführen in Excel
Schritt-für-Schritt-Anleitung
Um den Excel Solver automatisch auszuführen, kannst du ein einfaches Makro in VBA erstellen. Folge diesen Schritten:
-
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu starten.
-
Füge ein neues Modul hinzu: Rechtsklicke im Projekt-Explorer auf „VBAProject (DeineDatei.xlsx)“ und wähle „Einfügen“ > „Modul“.
-
Kopiere den folgenden Code in das Modul:
Sub SolverMakro()
ActiveWindow.ScrollWorkbookTabs Sheets:=1
Sheets("GuV").Select
Range("O129").Select
SolverOk SetCell:="$C$137", MaxMinVal:=1, ValueOf:="0", ByChange:= _
"$D$131:$X$131"
SolverSolve UserFinish:=True
ActiveWindow.ScrollWorkbookTabs Sheets:=-1
ActiveWindow.ScrollWorkbookTabs Sheets:=-1
Sheets("Eingabe Werte").Select
Range("D61").Select
End Sub
-
Stelle sicher, dass das Solver-Add-In aktiviert ist: Gehe zu Extras
> Verweise
und aktiviere „Solver.xls“.
-
Schließe den VBA-Editor und führe das Makro aus: Drücke ALT + F8
, wähle SolverMakro
und klicke auf „Ausführen“.
Häufige Fehler und Lösungen
Alternative Methoden
Falls du den Solver nicht über ein Makro steuern möchtest, kannst du den Excel Solver auch manuell über die Registerkarte „Daten“ aufrufen:
- Wähle die Zelle, die du optimieren möchtest.
- Klicke auf „Daten“ > „Solver“.
- Fülle die erforderlichen Felder aus und klicke auf „Lösen“.
Diese Methode ist jedoch nicht so effizient wie die Verwendung eines Makros, da sie manuelle Eingriffe erfordert.
Praktische Beispiele
Hier ist ein einfaches Beispiel, wie ein SolverMakro
in der Praxis aussieht:
Sub BeispielSolver()
SolverOk SetCell:="$A$1", MaxMinVal:=1, ValueOf:="0", ByChange:="$B$1"
SolverSolve UserFinish:=True
End Sub
In diesem Beispiel wird die Zelle A1 optimiert, um einen bestimmten Wert zu erreichen, wobei die Zelle B1 verändert wird.
Tipps für Profis
- Verwende
SolverReset
, um vorherige Solver-Einstellungen zurückzusetzen, bevor du neue Einstellungen vornimmst.
- Nutze die
SolverFinish
Funktion, um das Ergebnis des Solver-Prozesses zu verarbeiten.
- Experimentiere mit verschiedenen Solver-Parametern, um die besten Ergebnisse für deine spezifischen Probleme zu erzielen.
FAQ: Häufige Fragen
1. Wie kann ich den Solver in VBA aktivieren?
Aktiviere den Solver über Extras
> Verweise
und aktiviere „Solver.xls“.
2. Warum funktioniert mein Makro nicht?
Überprüfe, ob die Solver-Referenz korrekt gesetzt ist und dass du den Code im richtigen Modul eingefügt hast.
3. Was bedeutet UserFinish:=True
bei SolverSolve?
Durch diese Einstellung wird das Solver-Fenster automatisch geschlossen, ohne dass du manuell bestätigen musst, ob eine Lösung gefunden wurde.
4. Wo finde ich die Hilfe zu Solver in VBA?
Im VBA-Editor kannst du die integrierte Hilfe verwenden, indem du auf Hilfe
> Microsoft Visual Basic-Hilfe
gehst und nach „Solver“ suchst.