Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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

Anzeige

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

Anzeige
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
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Automatisierte Zielwertsuche in Excel für mehrere Zellen


Schritt-für-Schritt-Anleitung

Um die Zielwertsuche in Excel für mehrere Zellen zu automatisieren, kannst du ein Makro verwenden. Hier sind die Schritte, die du befolgen solltest:

  1. Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Klicke auf Einfügen und dann auf Modul, um ein neues Modul zu erstellen.

  3. Kopiere und füge den folgenden Code ein:

    Sub Zielwerte_varieren()
       Dim rng As Range, wks As Worksheet
       Dim rngFormel As Range
       Dim rngVariabel As Range
       Dim varStart As Variant
    
       Set wks = ActiveSheet
       Set rngFormel = .Range("B3") ' Zelle mit der Berechnungsformel
       Set rngVariabel = .Range("D6") ' Zelle, deren Wert verändert werden soll
    
       varStart = rngVariabel.Value  ' aktuellen Wert speichern
    
       For Each rng In .Range("B10:B17") ' Zellbereich mit den Zielwerten
           rngFormel.GoalSeek Goal:=rng.Value, ChangingCell:=rngVariabel
           .Calculate
           rng.Offset(0, 1).Value = rngVariabel ' Ergebnis eintragen
           rngVariabel = varStart ' Wert zurücksetzen
       Next rng
    End Sub
  4. Passen die Zellreferenzen an deine spezifischen Bedürfnisse an (z.B. die Zelle für die Berechnung, die Zielwerte, etc.).

  5. Führe das Makro aus, um die Zielwerte automatisch zu berechnen.


Häufige Fehler und Lösungen

  • Fehler: Zielwert wird nicht erreicht.

    • Lösung: Stelle sicher, dass der Startwert in der ChangingCell sinnvoll ist. Setze den Wert zurück, wenn die Zielwertsuche nicht erfolgreich ist.
  • Fehler: Ungültige Zellreferenz.

    • Lösung: Überprüfe alle Zellreferenzen im VBA-Code und passe sie an die tatsächlichen Zellen in deiner Excel-Datei an.

Alternative Methoden

Wenn du keine Makros verwenden möchtest, kannst du die Zielwertsuche manuell für jede Zelle durchführen:

  1. Wähle die Zelle mit der Berechnungsformel aus.
  2. Gehe zu Daten > Was-wäre-wenn-Analyse > Zielwertsuche.
  3. Gib den Zielwert und die Zelle, die verändert werden soll, ein.
  4. Wiederhole diesen Vorgang für jede Zelle.

Diese Methode ist jedoch zeitaufwendig, wenn du mehrere Zellen hast.


Praktische Beispiele

Nehmen wir an, du hast folgende Zellen:

  • M74 - M83: Die Zielwerte für die Barrendite.
  • N74 - N83: Die Zellen für die berechneten Mietpreise.

Um die Zielwertsuche für mehrere Zellen durchzuführen, kannst du das oben genannte Makro anpassen, sodass es die Zielwerte in den Zellen M74 bis M83 berücksichtigt.


Tipps für Profis

  • Verwende Kommentare im VBA-Code, um den Code verständlicher zu machen.
  • Teste dein Makro mit verschiedenen Zielwerten, um sicherzustellen, dass es unter allen Umständen funktioniert.
  • Speichere deine Excel-Datei regelmäßig, um Datenverlust zu vermeiden, besonders wenn du mit Makros arbeitest.

FAQ: Häufige Fragen

1. Kann ich die Zielwertsuche in Excel ohne Makro durchführen?
Ja, du kannst die Zielwertsuche manuell über das Menü „Was-wäre-wenn-Analyse“ durchführen, aber es ist weniger effizient für mehrere Zellen.

2. Welche Excel-Version wird für das Makro benötigt?
Das Makro wurde unter Excel 2010 erstellt, sollte jedoch auch in neueren Versionen funktionieren.

3. Wie kann ich die Zielwertsuche als Formel verwenden?
Die Zielwertsuche als Formel ist nicht direkt möglich, da sie eine interaktive Funktion ist. Du kannst jedoch ähnliche Berechnungen mit Funktionen wie IRR() oder XIRR() durchführen.

4. Was ist die Barrendite in diesem Zusammenhang?
Die Barrendite ist eine wichtige Kennzahl in der Immobilienbewertung, die angibt, welcher Mietpreis für eine gewünschte Rendite erzielt werden muss.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige