Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1320to1324
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

mehrere Zielwertsuchen .. automatisch

mehrere Zielwertsuchen .. automatisch
19.07.2013 15:16:01
Mike
Hallo zusammen,
in einer Investitionsrechnungen kommt die Zielwertsuche für die Berechnung des Mietpreises zum Einsatz.
Da gesamthaft zehn Preise zu rechnen sind, würde ich dies gerne automatisieren.
Die relevanten Prozentsätze stehen in den Zellen M74 - M83 und die berechneten Mietpreise sollten dann in N74 - N83 hinterlegt werden.
Wie mache ich dies am Besten?
-> IRR()-Berechnung in Zelle G56
-> Barrendite-Wert setzen gemäss M74-M83
-> Mietpreis einfügen bei N74-N83
Danke für Eure Hilfe,
Gruss
Mike

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mehrere Zielwertsuchen .. automatisch
20.07.2013 11:09:42
fcs
Hallo Mike,
die Zielwertsuche könnte man per Makro realisieren.
Nachfolgend ein Beispiel, in dem du die Zellen/Zellbereiche noch an deine Belage anpassen musst.
Gruß
Franz
'Erstellt unter Excel 2010
Sub Zielwerte_varieren()
' Zielwerte_varieren Makro
Dim rng As Range, wks As Worksheet
Dim rngFormel As Range
Dim rngVariabel As Range
Set wks = ActiveSheet
With wks
Set rngFormel = .Range("B3") 'Zelle mit der Berechnungsformel
Set rngVariabel = .Range("D6") 'Zelle, die deren Wert verändert werden soll, um Zielwert  _
zu erhalten
'Zellbereich mit Zielwerten abarbeiten
For Each rng In .Range("B10:B17") 'Zellbereich mit den Zielwerten
rngFormel.GoalSeek Goal:=rng.Value, ChangingCell:=rngVariabel
.Calculate
'Ergebnis rechts neben Zielwert eintragen
rng.Offset(0, 1).Value = rngVariabel
Next rng
End With
End Sub

Anzeige
Zielwertsuche automatisch - optimiert/korrigiert
20.07.2013 11:32:29
fcs
Hallo Mike,
das Makro liefert schlechte/unvernüftige Folge-Ergebnisse, wenn einer der Zielwerte nicht erreicht wurde.
Deshalb sollte die Variable Zelle immer wieder auf auf einen Startwert mit sinnvollem Ergebnis zurückgesetzt werden.
Gruß
Franz
Sub Zielwerte_varieren()
' Zielwerte_varieren Makro
Dim rng As Range, wks As Worksheet
Dim rngFormel As Range
Dim rngVariabel As Range
Dim varStart
Set wks = ActiveSheet
With wks
Set rngFormel = .Range("B3") 'Zelle mit der Berechnungsformel
Set rngVariabel = .Range("D6") 'Zelle, deren Wert verändert werden soll, _
um Zielwert zu erhalten
varStart = rngVariabel.Value  'aktuellen Wert in variabler Zelle merken _
(sollte sinnvolles Ergebnis liefern!!)
'Zellbereich mit Zielwerten abarbeiten
For Each rng In .Range("B10:B17") 'Zellbereich mit den Zielwerten
rngFormel.GoalSeek Goal:=rng.Value, ChangingCell:=rngVariabel
.Calculate
'Ergebnis rechts neben Zielwert eintragen
rng.Offset(0, 1).Value = rngVariabel
rngVariabel = varStart
Next rng
End With
End Sub

Anzeige
Marge .. Zielwertsuche automatisch
22.07.2013 16:04:44
Mike
Hallo Franz,
das klappte schon mal ganz gut, besten Dank. Die einzige Schwierigkeit ist nun noch,
dass drei unterschiedliche Margen in die Mietpreisberechnung einfliessen.
Das will heissen, dass nach fünf Berechnungen eine neue Marge berücksichtigt werden
muss und ebenfalls für die 10. Berechnung. Sie würden so in A14:A24 stehen.
Wie kann ich dies noch integrieren?
Danke und Gruss,
Mike

AW: Marge .. Zielwertsuche automatisch
22.07.2013 17:12:40
fcs
Hallo Mike,
wenn du andere Werte varieren willst, die als Konstanten in die Berechnungsformeln einfliessen sollen,
dann kannst du das in die For-Next-Schleife integrieren.
1. Du deklarierst eine zusätzliche Integer-Variable zum Zählen
und für die Marge.
2. Die Marge wird über den Zähler aus dem Bereich ermittelt
3. Die Marge wird in die Zelle eingetragen, die für die manuelle Eingabe verwendet wird.
Kann dann etwa wie folgt aussehen.
Gruß
Franz
Sub Zielwerte_varieren()
' Zielwerte_varieren Makro
Dim rng As Range, wks As Worksheet
Dim rngFormel As Range
Dim rngVariabel As Range
Dim varStart, varMarge As Variant, intCount As Integer
Set wks = ActiveSheet
With wks
Set rngFormel = .Range("B3") 'Zelle mit der Berechnungsformel
Set rngVariabel = .Range("D6") 'Zelle, deren Wert verändert werden soll, _
um Zielwert zu erhalten
varStart = rngVariabel.Value  'aktuellen Wert in variabler Zelle merken _
(sollte sinnvolles Ergebnis liefern!!)
'Zellbereich mit Zielwerten abarbeiten
For Each rng In .Range("B10:B17") 'Zellbereich mit den Zielwerten
intCount = intCount + 1
'Marge ermitteln für durchlauf
varMarge = Range("A14:A24").Cells(intCount, 1).Value
'Marge in die Zelle eintragen, die die Berechnungsformeln verwenden
Range("H10").Value = varMarge 'zelladresse anpassen
rngFormel.GoalSeek Goal:=rng.Value, ChangingCell:=rngVariabel
.Calculate
'Ergebnis rechts neben Zielwert eintragen
rng.Offset(0, 1).Value = rngVariabel
rngVariabel = varStart
Next rng
End With
End Sub

Anzeige
WOW .. Marge .. Zielwertsuche
23.07.2013 09:03:43
Mike
Hallo Franz,
wow, das klappt ausgezeichnet, besten Dank für Deine
detailierte Hilfe. Dies ist eine immense Erleichterung.
Und ich kann sogar die Investitionsrechnung makrofrei
halten, perfekt!
Liebe Grüsse,
Mike

AW: Zielwertsuche automatisch - optimiert/korrigiert
22.07.2013 16:58:50
Mike
.. noch offen .. ;-)

perfekt - optimiert/korrigiert
23.07.2013 09:04:44
Mike
.. mit der Margenanpassung von Franz ist dies perfekt
gelöst und somit abgeschlossen.
Besten Dank und Gruss, Mike

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige