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

Solver mit Button ausführen

Forumthread: Solver mit Button ausführen

Solver mit Button ausführen
06.02.2009 09:15:00
Stephan
Hallo zusammen,
ich habe eine Solver-Routine in eine For-Next-Schleife eingebunden, mit der Werte in verschiedene Zielzellen geschrieben werden. Dabei werden die Zielzellen zunächst geleert und dann mit den errechneten Solverwerten neu befüllt.
Das Ganze funktioniert auch prächtig, solange ich das Makro mit der F5-Taste starte. Sobald ich den Code aber über einen Button auf dem Tabellenblatt aktiviere, werden nur die Zellen geleert, es erfolgt keine Neubefüllung.
Seltsam, oder?
Vielleicht hat ja jemand eine Lösung parat.
Danke vorab.
Stephan
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Hokus Pokus...
06.02.2009 09:47:00
Ramses
Hallo
Meine Kristallkugel ist gerade im Service, daher sehe ich deinen Rechner nicht.
Kannst du vielleicht den code und eine Beispieltabelle hochladen ?
Gruss Rainer
Solver
06.02.2009 12:55:47
Stephan
Hallo Rainer,
jetzt habe ich das Problem etwas eingrenzen können:
Habe hier eine Datei https://www.herber.de/bbs/user/59172.xls mit den Tabellenblättern "Tabelle1" und "Tabelle2". Bitte die Datei unter "Mappe2.xls" speichern!
In beiden Tabellenblättern ist ein Button aufgeführt, der den Solver ausführen soll und in Tabelle1 die Zellen H5, P5 und X5 befüllen soll. Die erforderlichen Daten zur Berechnung der Zellen H5, P5 und X5 sind nur in Tabelle1 enthalten. Beide Buttons benutzen den gleichen Code.
Klickt man nun den Button in Tabelle1 funktioniert alles wunderbar, die Zellen H5 (21,88 %), P5 (32,24 %) und X5 (uups, da stimmt noch etwas nicht, ist aber erstmal nicht so wild) sind befüllt. Versucht man das Gleiche in Tabelle2 werden lediglich die Zellen H5, P5 und X5 gelöscht, dabei bleibt's.
Ich habe keine Erklärung.
Danke für die Hilfe!
Stephan
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Solver mit Button ausführen in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und lade die Datei, die du analysieren möchtest.

  2. Füge einen Button hinzu:

    • Gehe zu „Entwicklertools“ > „Einfügen“ > wähle einen „Button (Formularsteuerung)“ aus.
    • Ziehe den Button an die gewünschte Stelle in deinem Arbeitsblatt.
  3. Verknüpfe den Button mit deinem Makro:

    • Klicke mit der rechten Maustaste auf den Button und wähle „Makro zuweisen“.
    • Wähle das Makro aus, das den Solver aktiviert.
  4. Makro anpassen:

    • Stelle sicher, dass dein Makro den Solver korrekt aufruft und die Werte in die Zielzellen schreibt. Beispielcode:
    Sub RunSolver()
       SolverReset
       SolverOk SetCell:="$H$5", MaxMinVal:=1, ValueOf:=0, ByChange:="$A$1"
       SolverSolve UserFinish:=True
       Range("H5").Value = SolverResult
       Range("P5").Value = '... (weitere Berechnungen)
       Range("X5").Value = '... (weitere Berechnungen)
    End Sub
  5. Teste den Button:

    • Klicke auf den Button und überprüfe, ob die Zellen wie gewünscht befüllt werden.

Häufige Fehler und Lösungen

  • Problem: Der Button löscht nur die Zellen und befüllt sie nicht.

    • Lösung: Stelle sicher, dass das Makro, das mit dem Button verknüpft ist, auch die richtigen Zellen adressiert. Überprüfe auch die Berechnungsreihenfolge und ob die Daten in den benötigten Zellen vorhanden sind.
  • Problem: Der Solver funktioniert nur, wenn das Makro über F5 gestartet wird.

    • Lösung: Achte darauf, dass der Code in der richtigen Reihenfolge ausgeführt wird. Debugge den Code, um sicherzustellen, dass die Solver-Parameter korrekt gesetzt sind.

Alternative Methoden

Wenn der Solver über einen Button nicht funktioniert, könntest du folgende Alternativen ausprobieren:

  • Direktes Ausführen des Makros: Klicke auf „Entwicklertools“ und wähle das Makro manuell aus, um es auszuführen.
  • Verwendung von Shortcuts: Erstelle ein Tastenkürzel für dein Makro, um es schneller auszuführen.
  • Formelbasierte Ansätze: Überlege, ob du die benötigten Berechnungen auch mit Excel-Formeln anstelle des Solvers durchführen kannst.

Praktische Beispiele

Nehmen wir an, du möchtest den Solver für eine einfache Optimierung einsetzen:

  1. Ziel: Maximiere die Zelle H5, indem du den Wert in A1 änderst.

  2. Makro:

    Sub Optimize()
       SolverReset
       SolverOk SetCell:="$H$5", MaxMinVal:=1, ValueOf:=0, ByChange:="$A$1"
       SolverSolve UserFinish:=True
    End Sub
  3. Button hinzufügen und verknüpfen: Wie in der Schritt-für-Schritt-Anleitung beschrieben.


Tipps für Profis

  • Verwende die Solver-Referenzen: Achte darauf, dass alle Zellreferenzen absolut sind, um unerwartete Ergebnisse zu vermeiden.
  • Debugging: Setze Haltepunkte im Code, um den Ablauf zu verfolgen und Fehler schneller zu identifizieren.
  • Dokumentation: Halte deinen Code gut kommentiert, um bei späteren Anpassungen die Logik schnell nachvollziehen zu können.

FAQ: Häufige Fragen

1. Warum funktioniert der Solver nicht, wenn ich ihn über einen Button starte?
Es kann vorkommen, dass der Button nicht die richtigen Zellreferenzen oder Parameter verwendet. Überprüfe deinen Code und die Zellen, die der Solver ansteuern soll.

2. Gibt es eine Möglichkeit, den Solver in Excel zu automatisieren?
Ja, du kannst den Solver automatisieren, indem du ein Makro erstellst, das die Solver-Funktionalität aufruft. Achte darauf, dass das Makro richtig konfiguriert ist und alle benötigten Parameter enthält.

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