Thema Datum  Von Nutzer Rating
Antwort
30.05.2019 10:10:21 Diane
NotSolved
30.05.2019 11:08:32 Gast54110
NotSolved
30.05.2019 12:02:29 Gast1813
NotSolved
30.05.2019 12:43:15 Trägheit
NotSolved
30.05.2019 12:48:37 Trägheit
NotSolved
30.05.2019 15:40:15 Gast54110
NotSolved
30.05.2019 12:52:29 Gast92583
NotSolved
30.05.2019 13:11:02 Gast60039
NotSolved
30.05.2019 13:35:26 Gast86999
NotSolved
Blau Fehler beim kompilieren - Typen unverträglich
30.05.2019 13:50:16 Gast18696
NotSolved
30.05.2019 14:25:57 zwenn
Solved
30.05.2019 15:11:34 Gast20761
NotSolved
30.05.2019 15:25:53 Zwenn
*
NotSolved

Ansicht des Beitrags:
Von:
Gast18696
Datum:
30.05.2019 13:50:16
Views:
511
Rating: Antwort:
  Ja
Thema:
Fehler beim kompilieren - Typen unverträglich

Was mich halt wirklich wundert ist, dass es die letzten Wochen problemlos funktioniert hat und plötzlich seit gestern mir diese Fehlermeldung anzeigt (arbeite schon etwas länger an diesem Skript mit HIlfe von Tutorials etc.). Habe jetzt erstmal (wie mir schon empfohlen worden ist) alle ÄÖÜ Buchstaben entfernt und versucht die Schritte nochmal einzeln durchzugehen um zu verstehen von wo der Fehler herkommt könnte... vllt entdeckst du ja etwas @Gast86999 ?

 

'Basis der Arrays soll 1 sein
Option Base 1

'Anzahl der Wiederholungen
Const MC_WIEDERHOLUNG = 5000

'Definition der Datenstruktur für eine GuV
Type GuV
    umsatz As Currency
    ertraege As Currency
    material As Currency
    personal As Currency
    afa As Currency
    aufwendungen As Currency
    aufwendungenFinanzergebnis As Currency
    ertraegeFinanzergebnis As Currency
    ergebnis As Currency
    steuern As Currency
    jahresueberschuss As Currency
End Type

'Das Datenfeld
Dim planungsreihe(MC_WIEDERHOLUNG, 11) As GuV

'Die Wachstumsraten
Dim umsatz_min As Single
Dim umsatz_max As Single
Dim ertraege_min As Single
Dim ertraege_max As Single
Dim material_min As Single
Dim material_max As Single
Dim personal_min As Single
Dim personal_max As Single
Dim afa_min As Single
Dim afa_max As Single
Dim aufwendungen_min As Single
Dim aufwendungen_max As Single
Dim aufwendungenFinanzergebnis_min As Single
Dim aufwendungenFinanzergebnis_max As Single
Dim ertraegeFinanzergebnis_min As Single
Dim ertraegeFinanzergebnis_max As Single
Dim steuern_min As Single
Dim steuern_max As Single

'Hier wird das Basisjahr eingelesen
Dim basisjahr As GuV

Function gen_wachstumsrate(min, max As Single) As Single

Dim x_rate As Single

x_rate = (max - min) * Rnd + min
gen_wachstumsrate = Round(1 + x_rate, 6)

End Function
Sub starte_planung()

Dim jahr As Byte
Dim n As Integer
Dim j As Byte

'Basisjahr einlesen
With basisjahr
    .umsatz = Sheets("Basisdaten").Cells(4, 2).Value
    .ertraege = Sheets("Basisdaten").Cells(5, 2).Value
    .material = Sheets("Basisdaten").Cells(6, 2).Value
    .personal = Sheets("Basisdaten").Cells(7, 2).Value
    .afa = Sheets("Basisdaten").Cells(8, 2).Value
    .aufwendungen = Sheets("Basisdaten").Cells(9, 2).Value
    .aufwendungenFinanzergebnis = Sheets("Basisdaten").Cells(10, 2).Value
    .ertraegeFinanzergebnis = Sheets("Basisdaten").Cells(11, 2).Value
    .ergebnis = Sheets("Basisdaten").Cells(12, 2).Value
    .steuern = Sheets("Basisdaten").Cells(13, 2).Value
    .jahresueberschuss = Sheets("Basisdaten").Cells(14, 2).Value
End With

'Wachstumsraten einlesen
With Sheets("Basisdaten")
    umsatz_min = .Cells(4, 4)
    umsatz_max = .Cells(4, 5)
    ertraege_min = .Cells(5, 4)
    ertraege_max = .Cells(5, 5)
    material_min = .Cells(6, 4)
    material_max = .Cells(6, 5)
    personal_min = .Cells(7, 4)
    personal_max = .Cells(7, 5)
    afa_min = .Cells(8, 4)
    afa_max = .Cells(8, 5)
    aufwendungen_min = .Cells(9, 4)
    aufwendungen_max = .Cells(9, 5)
    aufwendungenFinanzergebnis_min = .Cells(10, 4)
    aufwendungenFinanzergebnis_max = .Cells(10, 5)
    ertraegeFinanzergebnis_min = .Cells(11, 4)
    ertraegeFinanzergebnis_max = .Cells(11, 5)
    steuern_min = .Cells(13, 4)
    steuern_max = .Cells(13, 5)
End With

'Eine Zufallsplanung erstellen
Randomize
For n = 1 To MC_WIEDERHOLUNG
    'Das erste Jahr basiert auf Basisjahr
    With planungsreihe(n, 1)
        .umsatz = basisjahr.umsatz * gen_wachstumsrate(umsatz_min, umsatz_max)
        .ertraege = basisjahr.ertraege * gen_wachstumsrate(erträge_min, ertraege_max)
        .material = basisjahr.material * gen_wachstumsrate(material_min, material_max)
        .personal = basisjahr.personal * gen_wachstumsrate(personal_min, personal_max)
        .afa = basisjahr.afa * gen_wachstumsrate(afa_min, afa_max)
        .aufwendungen = basisjahr.aufwendungen * gen_wachstumsrate(aufwendungen_min, aufwendungen_max)
        .aufwendungenFinanzergebnis = basisjahr * gen_wachstumsrate(aufwendundungenFinanzergebnis_min, aufwendungenFinanzergebnis_max)
        .ertraegeFinanzergebnis = basisjahr * gen_wachstumsrate(ertraegeFinanzergebnis_min, ertraegeFinanzergebnis_max)
        .ergebnis = .umsatz - .material - .personal - .afa
        .steuern = basisjahr.steuern * gen_wachstumsrate(steuern_min, steuern_max)
        .jahresueberschuss = .ergebnis - .steuern
    End With
    'Die nächsten Jahre basieren auf Vorjahr
    For jahr = 2 To 5
        With planungsreihe(n, jahr)
            .umsatz = planungsreihe(n, jahr - 1).umsatz * gen_wachstumsrate(umsatz_min, umsatz_max)
            .ertraege = planungsreihe(n, jahr - 1).ertraege * gen_wachstumsrate(ertraege_min, ertraege_max)
            .material = planungsreihe(n, jahr - 1).material * gen_wachstumsrate(material_min, material_max)
            .personal = planungsreihe(n, jahr - 1).personal * gen_wachstumsrate(personal_min, personal_max)
            .afa = planungsreihe(n, jahr - 1).afa * gen_wachstumsrate(afa_min, afa_max)
            .aufwendungen = planungsreihe(n, jahr - 1).aufwendungen * gen_wachstumsrate(aufwendungen_min, aufwendungen_max)
            .aufwendungenFinanzergebnis = planungsreihe(n, jahr - 1).aufwendungenFinanzergebnis * gen_wachstumsrate(aufwendungenFinanzergebnis_min, afa_max)
            .ertraegeFinanzergbnis = planungsreihe(n, jahr - 1).ertraegeFinanzergebnis * gen_wachstumsrate(ertraegefinanzergbnis_min, ertraegeFinanzergebnis_max)
            .ergebnis = .umsatz - .material - .personal - .afa
            .steuern = planungsreihe(n, jahr - 1).steuern * gen_wachstumsrate(steuern_min, steuern_max)
            .jahresueberschuss = .ergebnis - .steuern
        End With
    Next jahr
Next n

'Ausgabe in einzelne Tabellenblaetter
For n = 1 To MC_WIEDERHOLUNG
    Sheets("Umsatz").Cells(n + 5, 1).Value = n
    For j = 1 To 5
        Sheets("Umsatz").Cells(n + 5, 1 + j).Value = planungsreihe(n, j).umsatz
    Next j
    Sheets("Ertraege").Cells(n + 5, 1).Value = n
    For j = 1 To 5
        Sheets("Ertraege").Cells(n + 5, 1 + j).Value = planungsreihe(n, j).ertraege
    Next j
    Sheets("Material").Cells(n + 5, 1).Value = n
    For j = 1 To 5
        Sheets("Material").Cells(n + 5, 1 + j).Value = planungsreihe(n, j).material
    Next j
    Sheets("Personal").Cells(n + 5, 1).Value = n
    For j = 1 To 5
        Sheets("Personal").Cells(n + 5, 1 + j).Value = planungsreihe(n, j).personal
    Next j
    Sheets("Afa").Cells(n + 5, 1).Value = n
    For j = 1 To 5
        Sheets("Afa").Cells(n + 5, 1 + j).Value = planungsreihe(n, j).afa
     Next j
    Sheets("Aufwendungen").Cells(n + 5, 1).Value = n
    For j = 1 To 5
        Sheets("Aufwendungen").Cells(n + 5, 1 + j).Value = planungsreihe(n, j).aufwendungen
     Next j
    Sheets("AufwendungFinanzergebnis").Cells(n + 5, 1).Value = n
    For j = 1 To 5
        Sheets("AufwendungFinanzergbnis").Cells(n + 5, 1 + j).Value = planungsreihe(n, j).aufwendungenFinanzergebnis
     Next j
    Sheets("ErträgeFinanzergebnis").Cells(n + 5, 1).Value = n
    For j = 1 To 5
        Sheets("ErtraegeFinanzergebnis").Cells(n + 5, 1 + j).Value = planungsreihe(n, j).ertraegeFinanzergebnis
    Next j
    Sheets("Ergebnis").Cells(n + 5, 1).Value = n
    For j = 1 To 5
        Sheets("Ergebnis").Cells(n + 5, 1 + j).Value = planungsreihe(n, j).ergebnis
    Next j
    Sheets("Steuern").Cells(n + 5, 1).Value = n
    For j = 1 To 5
        Sheets("Steuern").Cells(n + 5, 1 + j).Value = planungsreihe(n, j).steuern
    Next j
    Sheets("Jahresueberschuss").Cells(n + 5, 1).Value = n
    For j = 1 To 5
        Sheets("Jahresueberschuss").Cells(n + 5, 1 + j).Value = planungsreihe(n, j).jahresueberschuss
    Next j
Next n
   
End Sub

'Berechnung der Haeufigkeit in einer Haeufigkeitstabelle

Sub Haeufigkeit()
Dim arr()
Dim sh As Worksheet
Dim myBin As Range, myData As Range

Set sh = Sheets("Dashboard")
With sh
Set myBin = Sheets("Dashboard").Range("A3:A33")
Set myData = Sheets("Jahresueberschuss").Range("F6:F10005")

arr = WorksheetFunction.Frequency(myData, myBin)

Sheets("Dashboard").Range("B3").Resize(UBound(arr) - LBound(arr)) = arr
End With
End Sub
    
'Statistische Auswertung

Sub statistics()
Sheets("Dashboard").Range("F3").Value = Application.WorksheetFunction.min(Sheets("Jahresueberschuss").Range("F6:F10005"))
Sheets("Dashboard").Range("F4").Value = Application.WorksheetFunction.max(Sheets("Jahresueberschuss").Range("F6:F10005"))
Sheets("Dashboard").Range("F5").Value = Application.WorksheetFunction.Average(Sheets("Jahresueberschuss").Range("F6:F10005"))
Sheets("Dashboard").Range("F6").Value = Application.WorksheetFunction.Median(Sheets("Jahresueberschuss").Range("F6:F10005"))
Sheets("Dashboard").Range("F7").Value = Application.WorksheetFunction.StDev(Sheets("Jahresueberschuss").Range("F6:F10005"))
Sheets("Dashboard").Range("F8").Value = Application.WorksheetFunction.VarP(Sheets("Jahresueberschuss").Range("F6:F10005"))
Sheets("Dashboard").Range("F9").Value = Application.WorksheetFunction.Skew(Sheets("Jahresueberschuss").Range("F6:F10005"))
Sheets("Dashboard").Range("F10").Value = Application.WorksheetFunction.Kurt(Sheets("Jahresueberschuss").Range("F6:F10005"))

End Sub

 


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
30.05.2019 10:10:21 Diane
NotSolved
30.05.2019 11:08:32 Gast54110
NotSolved
30.05.2019 12:02:29 Gast1813
NotSolved
30.05.2019 12:43:15 Trägheit
NotSolved
30.05.2019 12:48:37 Trägheit
NotSolved
30.05.2019 15:40:15 Gast54110
NotSolved
30.05.2019 12:52:29 Gast92583
NotSolved
30.05.2019 13:11:02 Gast60039
NotSolved
30.05.2019 13:35:26 Gast86999
NotSolved
Blau Fehler beim kompilieren - Typen unverträglich
30.05.2019 13:50:16 Gast18696
NotSolved
30.05.2019 14:25:57 zwenn
Solved
30.05.2019 15:11:34 Gast20761
NotSolved
30.05.2019 15:25:53 Zwenn
*
NotSolved