Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Solver Nebenbedingung

Solver Nebenbedingung
15.08.2016 18:10:57
Frank
Hallo an Alle,
ich nutze via VBA den Solver. Dabei definiere ich zwei Nebenbedingungen.
Der Wert in einer bestimmten Zelle darf nicht kleiner als 0,27 bzw. größer als 2 sein.
Schaue ich mir anschließend die gesetzten Nebenbedingungen im Solver an, so sehe ich das er die obere Grenze nämlich 2 richtig gesetzt hat. Bei der unteren Schranke ist anstatt der 0,27 eine 27 zu lesen.
Wie kann ich dieses Problem umgehen?
Vielen Dank und viele Grüße
Frnak
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Solver Nebenbedingung
16.08.2016 02:05:45
fcs
Hallo Frank,
versuche es im Code mal mit 0.27 statt 0,27
Dezimalzahlen muüssen in Makros meistens im US-Format mit Punkt als Dezimalzeichen angegben werden.
Gruß
Franz
AW: Solver Nebenbedingung
16.08.2016 10:00:38
Frank
Hallo Franz
vielen Dank für deine Antwort. Hätte ich vielleicht hinschreiben sollen... Ich habe im Code 0.27 stehen, sonst würde das Makro nicht ausführbar sein.
Wie könnte man das Problem umgehen?
Userbild
Vielen Dank und viele Grüße
Frank
Anzeige
AW: Solver Nebenbedingung
18.08.2016 22:32:21
fcs
Hallo Frank,
setze den Formla-text in Anführungszeichen.
... formulaText:="0,27"
Zumindest bei Aufzeichnung per Makro-Rekorder wird als Dezimalzeichen ein "Komma" eingefügt. Muss aber nicht unbedingt stimmen.
Gruß
Franz
;
Anzeige
Anzeige

Infobox / Tutorial

Optimierung der Solver Nebenbedingungen in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und lade dein VBA-Projekt.
  2. Füge den Solver in dein Projekt ein.
    • Gehe zu Entwicklertools > Visual Basic und füge den Solver über Extras > Verweise hinzu.
  3. Definiere deine Zielzelle.
    • Verwende den Befehl SolverOk um deine Zielzelle festzulegen.
  4. Setze die Nebenbedingungen.
    • Stelle sicher, dass du die Werte im korrekten Format angibst. Anstelle von 0,27 solltest du 0.27 verwenden.
      SolverAdd CellRef:="A1", Relation:=3, FormulaText:="0.27" ' untere Grenze
      SolverAdd CellRef:="A1", Relation:=1, FormulaText:="2" ' obere Grenze
  5. Starte den Solver.
    • Führe den Solver mit SolverSolve aus, um die Optimierung zu starten.

Häufige Fehler und Lösungen

  • Problem: Falsches Dezimalzeichen

    • Lösung: Stelle sicher, dass du im VBA-Code Punkte anstelle von Kommas für Dezimalzahlen verwendest. Zum Beispiel:
      SolverAdd CellRef:="A1", Relation:=3, FormulaText:="0.27"
  • Problem: Nebenbedingungen werden nicht korrekt angezeigt

    • Lösung: Überprüfe, ob der formulaText in Anführungszeichen gesetzt ist. Beispiel:
      formulaText:="0.27"

Alternative Methoden

Wenn du Schwierigkeiten mit dem VBA-Code hast, kannst du die Solver-Funktion auch direkt über das Excel-Menü verwenden:

  1. Gehe zu Daten > Solver.
  2. Setze deine Zielzelle und wähle die Nebenbedingungen aus.
  3. Achte darauf, dass die Werte korrekt eingegeben werden, wie im vorherigen Abschnitt beschrieben.

Praktische Beispiele

Ein einfaches Beispiel für die Verwendung des Excel Solvers mit Nebenbedingungen:

  • Angenommen, du möchtest den Wert in Zelle A1 optimieren, so dass er zwischen 0,27 und 2 liegt. Hier ein Beispiel für den VBA-Code:
    SolverOk SetCell:="A1", MaxMinVal:=1
    SolverAdd CellRef:="A1", Relation:=3, FormulaText:="0.27"
    SolverAdd CellRef:="A1", Relation:=1, FormulaText:="2"
    SolverSolve

Tipps für Profis

  • Verwende Debugging: Wenn du Probleme hast, füge MsgBox-Anweisungen in deinen Code ein, um den Wert von Variablen zu überprüfen.
  • Speichere deine Arbeit regelmäßig: Gerade bei komplexen Solver-Projekten kann es hilfreich sein, regelmäßig zu speichern, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Warum funktioniert der Solver nicht? Überprüfe, ob alle Werte im richtigen Format eingegeben sind, insbesondere Dezimalzahlen.

2. Wie kann ich mehrere Nebenbedingungen hinzufügen? Du kannst mehrere SolverAdd-Befehle verwenden, um weitere Nebenbedingungen festzulegen. Achte darauf, dass jede Bedingung korrekt formatiert ist.

3. Gibt es eine maximale Anzahl an Nebenbedingungen im Solver? Ja, der Excel Solver hat eine Begrenzung für die Anzahl der Bedingungen. Diese kann je nach Version variieren, in der Regel sollten jedoch mehrere Bedingungen problemlos möglich sein.

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