Thema Datum  Von Nutzer Rating
Antwort
Rot Funktion automatisch aktualisieren
03.08.2024 16:59:50 Flieger
Solved
03.08.2024 20:16:04 ralf_b
*****
Solved
03.08.2024 23:16:13 Gast21520
Solved
04.08.2024 04:07:21 xlKing
Solved
04.08.2024 17:09:39 Gast93758
Solved
04.08.2024 15:41:59 Gast7777
Solved

Ansicht des Beitrags:
Von:
Flieger
Datum:
03.08.2024 16:59:50
Views:
102
Rating: Antwort:
 Nein
Thema:
Funktion automatisch aktualisieren

Hallo zusammen,

ich habe die folgende Funktion, bei der soweit alles klappt. Wenn ich jedoch die Variable diskontsatz ändere (fester Wert im Tabellenblatt), wird nur "#Wert!" ausgegeben. Wenn ich die jeweilige Zeile mit der Funktion dann jeweils einzeln ansteuere, klappt die Aktualisierung.

Geht das auch automatisch bzw. was mache ich falsch?

Vielen Dank und freundliche Grüße.
Flieger

 

Public diskontsatz As Double

Function BuffettFairValue(diskontsatz As Double) As Double

Dim letzterGewinn As Double
Dim wachstum1_5 As Double
Dim wachstum6_10 As Double
Dim terminalwachstum As Double
Dim ausstehendeaktien As Double
Dim fairValue As Double
Dim zeile As Integer

fairValue = 0

' Diskontsatz
diskontsatz = diskontsatz / 100

' Aktuelle Zeilennummer basierend auf der aktiven Zelle
zeile = ActiveCell.Row

' Eingabewerte aus der aktuellen Zeile
letzterGewinn = Cells(zeile, "E").Value
wachstum1_5 = Cells(zeile, "L").Value
wachstum1_5 = wachstum1_5 / 100
wachstum6_10 = Cells(zeile, "M").Value
wachstum6_10 = wachstum6_10 / 100
terminalwachstum = Cells(zeile, "M").Value
terminalwachstum = terminalwachstum / 100
ausstehendeaktien = Cells(zeile, "G").Value

' Berechnung des Fair Value
fairValue = letzterGewinn / (1 + diskontsatz)

' Berechnung des Gewinnwachstums für die nächsten 5 Jahre
For i = 1 To 5
    abzinsung = (1 + diskontsatz) ^ i
    fairValue = fairValue + (letzterGewinn * (1 + wachstum1_5)) / abzinsung
    
    If i = 1 Then
        Endgewinn = letzterGewinn * (1 + wachstum1_5)
    Else
        Endgewinn = Endgewinn * (1 + wachstum1_5)
    End If
Next i

' Berechnung des Gewinnwachstums für die nächsten 5 Jahre
For i = 5 To 10
    abzinsung = (1 + diskontsatz) ^ i
    fairValue = fairValue + (letzterGewinn * (1 + wachstum6_10)) / abzinsung
    Endgewinn = Endgewinn * (1 + wachstum6_10)
Next i

' Berechnung des Restwerts nach 10 Jahren
Restwert = (Endgewinn * (1 + terminalwachstum)) / 0.05 ' Kapitalisierungssatz von 5% angenommen
Restwert_akt = Restwert * 1 / abzinsung

' Marktwert der Firma
Marktwert = fairValue + Restwert_akt

BuffettFairValue = Marktwert / ausstehendeaktien

ActiveSheet.Calculate

End Function

 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Funktion automatisch aktualisieren
03.08.2024 16:59:50 Flieger
Solved
03.08.2024 20:16:04 ralf_b
*****
Solved
03.08.2024 23:16:13 Gast21520
Solved
04.08.2024 04:07:21 xlKing
Solved
04.08.2024 17:09:39 Gast93758
Solved
04.08.2024 15:41:59 Gast7777
Solved