Ankündigung

Einklappen
Keine Ankündigung bisher.

Excel - Zelle "keinen" Wert zuweisen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    Ja 0 ist genau mein Problem - die Zelle darf einfach KEINEN Wert annehmen, 0 ist in meinem Fall ein Wert :(
    Zelle sperren geht leider auch nicht, ich bin mit meinem Excel Know-How ziemlich am Ende.
    Lustig ist auch, dass ich meine Datei an zwei anderen Rechnern mit dem Solver optimiert habe und jetzt 3 verschiedene Ergebnisse - das spricht definitiv für das AddIn....

    Kommentar


      #17
      Ich frage nochmal: Warum ist 0 ein Problem? Für den Solver oder für die Formeln? Ich versteh das Problem leider weiterhin nicht ... ;(

      Und warum geht sperren nicht? Ich versteh halt einfach das Problem nicht ...

      Kommentar


        #18
        0 ist offensichtlich ein Problem für den Solver :( - sobald ich die Zelle sperre, 0 vergebe usw. optimiert er falsch. Deswegen auch der Workaround mit einer Zahl die so hoch ist, dass er die Zellen dann mehr oder weniger ignoriert.
        Warum sperren und co nicht geht würde ich ja auch gerne wissen.....

        Kommentar


          #19
          Wenn du Zugriff zum VBA Code hast, müsstest du halt eine Abfrage einbauen, die auf 0 checkt und das Feld dann ignoriert.

          Kommentar


            #20
            Thats what im saying

            Einfach per Editor den Solver-Code aufzeichnen und vorher eine Abfrage einbauen die auf 0 prüft bzw. anstatt 0 deine sehr hohe Zahl einsetzt.

            Kleiner Tipp:
            Am Ende des Solver Codes folgendes ergänzen:
            SolverSolve Userfinish:=True

            Dann bestätigt er automatisich das Ergebnis und es kommt nicht dieses nervige Fenster.

            Kommentar


              #21
              Was meinst du denn mit aufzeichen? Du kannst ein Makro nicht aufzeichen Oo

              Also nicht über Makro aufzeichen -> Makro ausführen - Makro stoppen

              Dann kriegst du nur ein Application.Run "Mappe1!Makro1"

              Oder meinst du das? Aber was macht das für ein Sinn?

              Kommentar


                #22
                Klar, habe ich früher ständig so gemacht und mache ich teils heute noch so:

                Ansicht -> Makros -> Makrorecorder -> Makro aufzeichnen

                Dann per Solver manuell deine Schritte durchgehen und anschließend die Aufzeichnung beenden (selbes Menü).

                Dann mit Alt+F11 in den Code gehen und dann entsprechend weiterverarbeiten.


                Für folgendes Beispiel z.B.


                Ergibt:
                Sub Makro2()
                '
                ' Makro2 Makro
                '


                SolverOk SetCell:="$C$5", MaxMinVal:=3, ValueOf:=10, ByChange:="$C$2", Engine:= _
                1, EngineDesc:="GRG Nonlinear"
                SolverSolve
                End Sub

                Dafür unter Verweise das Solver-AddIn aktivieren




                //Edit:
                Dann kann ich einfach per VBA vorher mein Array auf die 0 (oder andere Werte überprüfen) und dann einfach den Solver starten, wenn man alles abgeglichen und evtl. verändert hat.

                Kommentar


                  #23
                  Okay, dann kommt das daher, dass Solver ein AddIn von MS ist. Ansonsten geht das natürlich nicht, ansonsten würdest du ja jedes geschützte VBA Makro ad absurdum führen. Wie gesagt, kenne den Solver einfach nicht.

                  In deinem Fall fügst du ja Daten in die Maske ein und startest den Solver oder? Das geht natürlich. Dachte du meinst, dass man dann den Code vom Solver hat und eine Überprüfung einbauen kann.

                  Kommentar


                    #24
                    Jip, das stimmt allerdings. War evtl. auch bescheiden ausgedrückt ;)

                    Kommentar


                      #25
                      Hauptsache es funktioniert ;D

                      Kommentar


                        #26
                        Vielen Dank nipser & Killa - mit VBA hat das geklappt :)
                        Ohne VBA Script geht es definitv nicht, bzw. nur mit Workarounds.

                        Kommentar

                        Lädt...
                        X