Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1524to1528
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Goalseek mit Ranges

Goalseek mit Ranges
15.11.2016 18:16:17
melsator
Guten Tag Excel Profis.. Ich bin auf der Suche nach einer Lösung für folgendes Problem:
1.) Ich habe eine Matrix mit Vorgabewerten z.B. A1:B10
2.) Ich habe eine Matrix mit Eingabewerten für eine komplexe Excel Rechnung z.B. in A11:B20
3.) Ich habe eine Matrix mit Ergebnissen aus der Berechnung von 2.) z.B. A21:B30
Ich möchte jetzt die Werte aus 2.) so wählen, dass nach der Berechnung (Ergebnis in 3.) die Werte denen aus 1.) stehen.
Manuell geht das mit Goalseek: Ändere Feld A11 so, dass A21=A1 ist. Leider ist die Matrix etwas größer und ich müsste ein paar 100 Goalseeks machen. Gibt es da eine Lösung mit den 3 Ranges?
Vielen Dank für jede Hilfe.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Goalseek mit Ranges
20.11.2016 11:44:56
fcs
Hallo melsator,
wenn du für jede Zelle mit Ergebnisformel das GoalSeek in dieser einfachen Form anwenden kannst, dann sieht ein entsprechendes Makro wie folgt aus.
Allerdings musst du noch irgendwie kennzeichnen, ob eine "vernüftige" Lösung gefunden wurde, z.B. indem du per bedigter Formatierung prüfst, ob die Differenz zwischen Vorgabewerte und berechneten Werten ausreichend klein ist (Absolutwert der Differenz &lt 0,1% vom Vorgabewert)
Gruß
Franz
Sub prcGoalSeek()
Dim wks As Worksheet
Dim rngFormeln As Range, rngAendern As Range, rngVorgabe As Range
Dim Zeile&, Spalte&
Set wks = ActiveSheet
With wks
Set rngVorgabe = .Range("A1:B10")
Set rngAendern = .Range("A11:B20")
Set rngFormeln = .Range("A21:B30")
End With
For Zeile = 1 To rngFormeln.Rows.Count
For Spalte = 1 To rngFormeln.Columns.Count
rngFormeln.Cells(Zeile, Spalte).GoalSeek _
goal:=rngVorgabe.Cells(Zeile, Spalte).Value, _
ChangingCell:=rngAendern.Cells(Zeile, Spalte)
Next
Next
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige