Microsoft Excel

Herbers Excel/VBA-Archiv

bedingte Zielwertsuche mit Makro

Betrifft: bedingte Zielwertsuche mit Makro von: Tobias
Geschrieben am: 10.11.2006 11:55:39

Liebe Helfer,

Ich möchte über Zielwertsuche Werte für die veränderbaren Zellen C7, C8,.... ermitteln, so dass die Zielzellen M7, M8... den Wert Null annehmen. Also habe ich das mit dem Makrorekorder aufgezeichnet:

Range("M7").GoalSeek Goal:=0, ChangingCell:=Range("C7")
Range("M8").GoalSeek Goal:=0, ChangingCell:=Range("C8")
Range("M9").GoalSeek Goal:=0, ChangingCell:=Range("C9")

Soweit funktioniert auch alles einwandfrei. Allerdings ermittelt mir die Zielwertsuche in den veränderbaren Zellen C7, C8, ... teilweise negative Werte. Ich suche nun einen Befehl, der mir in diesem Fall immer automatisch einen positiven Wert in die veränderbare Zelle schreibt (z.B. 0,0000001) falls die Zielwertsuche einen Wert kleiner oder gleich Null ermittelt. Wie müsste ich mein Makro verändern, damit das klappt?

Vielen Dank für die Hilfe.

Gruß
Tobias

  


Betrifft: AW: bedingte Zielwertsuche mit Makro von: {Boris}
Geschrieben am: 10.11.2006 12:53:44

Hi Tobias,

umrande die Formel in der Zielzelle mit MAX:
=MAX(0,000000001;Deine Formel)

Grüße Boris


  


Betrifft: AW: bedingte Zielwertsuche mit Makro von: Tobias
Geschrieben am: 10.11.2006 13:21:04

Hallo Boris,

das wahr wohl ein Missverständnis. In meiner Zielzelle ist es egal, ob die Werte leicht negativ werden. Mein Problem ist nur, dass in der veränderbaren Zelle (z.B. C7) nach der Zielwertsuche manchmal ein negativer Wert eingetragen wird (z.B. in C7 der Wert -0,0001). In diesem Fall soll mir das Makro dann immer einen Wert in C7 schreiben, der größer ist als Null (z.B. +0,0001).

Vielleicht müsste ich mein Makro irgendwie so verändern:

Range("M7").GoalSeek Goal:=0, ChangingCell:=Range("C7")
if C7<=0 then C7=0,00001~f~
Range("M8").GoalSeek Goal:=0, ChangingCell:=Range("C8")
~f~if C8<=0 then C8=0,00001
usw.

Leider kenne ich die nötigen VBA Befehle nicht.

Hoffe, jemand kann mir weiterhelfen.

Viele Grüße,
Tobias


  


Betrifft: AW: bedingte Zielwertsuche mit Makro von: {Boris}
Geschrieben am: 10.11.2006 13:39:28

Hi Tobias,

die Iteration kannst Du nicht direkt beeinflussen.
Nimm eine zusätzliche Ergebniszelle (außerhalb der Zielwertsuche), und schreibe dort:

=MAX(0,000000001; Veränderbare Zelle)

Rechne dann mit dieser Zusatzzelle weiter.

Grüße Boris


  


Betrifft: AW: bedingte Zielwertsuche mit Makro von: Tobias
Geschrieben am: 10.11.2006 13:54:46

Vielen Dank,
da hätte ich ja eigentlich auch selbst draufkommen können.. :-)


 

Beiträge aus den Excel-Beispielen zum Thema "bedingte Zielwertsuche mit Makro"