Thema Datum  Von Nutzer Rating
Antwort
Rot vba Statistik-Toolbox Test
20.01.2011 10:10:24 Gast14956
NotSolved
20.01.2011 16:10:21 Holger
*****
Solved

Ansicht des Beitrags:
Von:
Gast14956
Datum:
20.01.2011 10:10:24
Views:
1988
Rating: Antwort:
  Ja
Thema:
vba Statistik-Toolbox Test

KLASSENMODUL "Datenreihe":

 

Option Explicit


    Private x As New Collection
    Private attrName As String


    
    Property Let name(newName As String)
        attrName = newName
    End Property
    
    Property Get name() As String
        name = attrName
    End Property
    
    Public Sub xAdd(neuesX As Double)      
        x.Add neuesX
    End Sub
    
    

    
    Public Function berechneMittelwert() As Double
        Dim summe As Double
        Dim element As Variant
        For Each element In x
            summe = summe + element
        Next element
        berechneMittelwert = summe / x.Count
    End Function
    
    Public Function berechneVarianz() As Double
        Dim mittelwert As Double
        Dim summe As Double
        Dim summe2 As Double
        Dim element As Variant
        For Each element In x
            summe = summe + element
        Next element
        mittelwert = summe / x.Count
        For Each element In x
            summe2 = summe2 + ((element - mittelwert) ^ 2)
        Next element
        berechneVarianz = (1 / x.Count) * summe2
    End Function


_______________________________________________________________________
 

MODUL:

 


Sub Alter()

    Dim Alter As New Datenreihe
    Dim mittelwert As Double
    
    Alter.name = "Alter der Kunden"
    
    Alter.xAdd (20)
    Alter.xAdd (22)
    Alter.xAdd (30)
    Alter.xAdd (40)
    Alter.xAdd (22)
    Alter.xAdd (25)
    Alter.xAdd (24)
    Alter.xAdd (25)
    Alter.xAdd (30)
    Alter.xAdd (35)
    Alter.xAdd (40)
    Alter.xAdd (22)
    Alter.xAdd (60)
    
    Debug.Print Alter.name
    Debug.Print "Mittelwert: " & Alter.berechneMittelwert
    Debug.Print "Varianz: " & Alter.berechneVarianz
        
End Sub

Sub Bestellvolumen()

    Dim Bestellvolumen As New Datenreihe
    Dim mittelwert As Double
    
    Bestellvolumen.name = "Bestellvolumen der Kunden"
    
    Bestellvolumen.xAdd (1000)
    Bestellvolumen.xAdd (1200)
    Bestellvolumen.xAdd (2900)
    Bestellvolumen.xAdd (4000)
    Bestellvolumen.xAdd (1200)
    Bestellvolumen.xAdd (2100)
    Bestellvolumen.xAdd (2000)
    Bestellvolumen.xAdd (2000)
    Bestellvolumen.xAdd (3000)
    Bestellvolumen.xAdd (3500)
    Bestellvolumen.xAdd (4000)
    Bestellvolumen.xAdd (1300)
    Bestellvolumen.xAdd (10000000)
    
    Debug.Print Bestellvolumen.name
    Debug.Print "Mittelwert: " & Bestellvolumen.berechneMittelwert
    Debug.Print "Varianz: " & Bestellvolumen.berechneVarianz
    
    
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
Rot vba Statistik-Toolbox Test
20.01.2011 10:10:24 Gast14956
NotSolved
20.01.2011 16:10:21 Holger
*****
Solved