2016-05-23 10 views
0

Auf dem folgenden Link zu erreichen gibt es eine Excel-Datei:Iteration in VBA, bis ein Zielwert

https://www.dropbox.com/s/undic11wsq88dej/VBA%20Iteration.xlsm?dl=0

In dieser Excel-Datei Sie eine Berechnung zu sehen, in dem ich eine Iteration enthalten sein sollen. Der Wert in Zelle B5 sollte sich durch zufällige Werte ändern, bis der Wert in Zelle D22 genau den gleichen Wert wie in Zelle B13/D23 hat.

Bisher habe ich den folgenden Code programmiert diese Iteration zu tun bekommen:

Sub test() 
Do Until Sheets("Tabelle1").Range("D22") = Sheets("Tabelle1").Range("D23") 
Sheets("Tabelle1").Range("B5") = Int((500 - (-500) + 1) * Rnd + (-500))/100 
Loop 
End Sub 

Allerdings ist das Problem, dass der Code Zufallswerte in der Zelle B5 fügt aber es ist nicht klug genug, wenn diejenigen, um zu sehen, Werte bringen ihn näher an den Wert in Zelle B13/D23. Stattdessen durchläuft es ohne Ende.

Haben Sie eine Idee, wie ich diese Iteration klug genug machen kann, so dass es bemerkt, wenn es näher an den Wert in Zelle D23 kommt oder nicht.

Danke für jede Hilfe.

Antwort

0

Sie können mit Löser hinzufügen in versuchen, dieses Tool ein Algorithmus verwendet, um die „Zufallswerte“ zu wählen, so dass es schnell eine Lösung

You can see an example on how to use solver here

+0

Hallo Ashtonic erreichen kann, half der Solver mir meine zu lösen Problem. Danke für den Tipp. – Michi