Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1196to1200
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

Anderson-Darling Test über Makro

Anderson-Darling Test über Makro
Andre´
Hallo alle zusammen,
ich habe folgende Datei:

Die Datei https://www.herber.de/bbs/user/73310.xls wurde aus Datenschutzgründen gelöscht


von : www.robuststrategy.com
Gibt es eine Möglichkeit, dass der P-Wert, der in der Zelle B29 berechnet wird über eine Makrofunktion
angezeigt/ ausgegeben wird.
MFG Andre

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Anderson-Darling Test über Makro
30.01.2011 10:26:22
fcs
Hallo Andre,
der einfachste Weg für eine Anzeige ist eine Messagebox.
Das nachfolgende Makro in einem allgemeinen Modul der Datei im VBA-Editor einfügen.
Anschließend kannst du eine Schaltfläche aus den Formularsteuerelementen oder ein anderes Grafikelement in dem Blatt einfügen und das Makro diesem Element zuweisen (über Rechte-Maustaste-Klick).
Man kann das Ergebnis natürlich auch auf einem anderen Tabellenblatt ausgeben. Dann müsstest du aber Name des Tabellenblatts und gewünschte Zielzelle nennen.
Gruß
Franz
Sub P_Value()
With Worksheets("Anderson-Darling").Range("B29")
MsgBox "P-Value: " & .Text, vbInformation + vbOKOnly, _
"P-Value der Anderson-Darling-Auswertung"
End With
End Sub

Anzeige
AW: Anderson-Darling Test über Makro
30.01.2011 16:12:45
Andre´
Hallo Franz,
erstmals danke für Deine Antwort.
Was ich erreichen möchte ist, dass der Datenbereich in einer UserForm eingegeben wird und mir dann der
P-Wert angezeigt wird, oder eine eigene Funktion z.B.=P-WERT(A34:A42)
wo die ganzen Berechnungen stattfinden.
Ich möchte also auf die ganzen Hilfs-Zelle/ Spalten verzichten.
Denke es wird sehr schwierig sein, wenn überhaupt!
Ich hoffe aber dennoch, dass mir jemand helfen kann.
Vielen Dank im Voraus!
MFG Andre
AW: Anderson-Darling Test über Makro
01.02.2011 23:33:42
MichaV
Moin,
versuch das mal. Aufruf =AnDa(A34:A42)
Function AnDa(target As Range)
Dim NumberofData As Single
Dim s As Single
Dim AD As Single
Dim ADstar As Single
Dim p As Single
'B23
NumberofData = WorksheetFunction.CountA(WorksheetFunction.Index(target, 0, 1))
'G23
s = WorksheetFunction.Sum(WorksheetFunction.Index(target, 0, 7))
'B27 =-G23/B23-B23
AD = -s / NumberofData - NumberofData
'B28=B27*(1+0,75/B23+2,25/B23^2)
ADstar = AD * (1 + 0.75 / NumberofData + 2.25 / NumberofData ^ 2)
If ADstar = 0.6 Then p = Exp(1.2937 - 5.709 * ADstar + 0.0186 * ADstar ^ 2)
If ADstar = 0.34 Then p = Exp(0.9177 - 4.279 * ADstar - 1.38 * ADstar ^ 2)
If ADstar = 0.2 Then p = 1 - Exp(-8.318 + 42.796 * ADstar - 59.938 * ADstar ^ _
2)
If ADstar 
Gruss- Micha
Anzeige
AW: Anderson-Darling Test über Makro
02.02.2011 07:07:47
Andre´
Hallo Micha,
danke für Deine Hilfestellung.
Bei dieser Funktion beziehst Du dich doch auch auf die Hilfsspalten oder?
Dann wird mir auch #WERT angezeigt: https://www.herber.de/bbs/user/73355.xls
Ich hätte aber gern eine Lösung, wo ich einen x beliebigen Zellbereich vorgebe, und mir dann das Ergebnis geliefert wird, ohne das Berechnungen separat im Tabellenblatt ausgeführt werden müssen.
Ich hoffe das Problem kann noch gelöst werden.
Vielen Dank für jegliche Unterstützung!
MFG Andre
AW: Anderson-Darling Test über Makro
02.02.2011 08:14:39
MichaV
Hei,
ahso, nur die Werte aus Spalte A, das hab ich übersehen.... Da gibts ne Lösung, aber nicht kurzfristig ;o)
Biis bald- Micha
Anzeige
AW: Anderson-Darling Test über Makro
02.02.2011 08:23:40
MichaV
...vergessen als "offen" zu kennzeichenen.
Bei dieser Gelegenheit... ist ja ein ziemliches Stück Arbeit um ein paar Hilfspalten zu vermeiden. Das geht m.E. weit über die normalerweise hier im Forum zu erwartende Hilfestellung hinaus. Aber wie gesagt, wenn ich mal ne Stunde Zeit habe, dann bastele ich das evtl. um....
Gruss
AW: Anderson-Darling Test über Makro
02.02.2011 09:31:08
MichaV
So,
75min Arbeit, aber war mal ganz gut das eingerostete VBA- Hirn mal wieder ein bisschen zu trainieren.

Option Base 1
Function AnDa(target As Range)
'Please freely distribute and modify, but properly reference and maintain this information in  _
the sheet.
'written by MichaV based on  _
http://www.kevinotto.com/RSS/templates/Anderson-Darling
Normality Test Calculator.xls
'https://www.herber.de/forum/archiv/1196to1200/t1198017.htm#1198017
Dim NumberofData As Single
Dim SampleMean As Single
Dim SampleSigma As Single
Dim Sorted()
Dim Count As Integer
Dim F1i() As Single
Dim F1i_minus() As Single
Dim F2i() As Single
Dim Si() As Single
Dim s As Single
Dim AD As Single
Dim ADstar As Single
Dim p As Single
'B23
NumberofData = WorksheetFunction.CountA(target)
'B24
SampleMean = WorksheetFunction.Average(target)
'B25
SampleSigma = WorksheetFunction.StDev(target)
'Data table for evaluation of Si
ReDim F1i(NumberofData)
ReDim F1i_minus(NumberofData)
ReDim Si(NumberofData)
Sorted = Application.WorksheetFunction.Transpose(target)
ReDim Preserve Sorted(NumberofData)
QuickSort Sorted
For Count = 1 To NumberofData
F1i(Count) = Application.WorksheetFunction.NormSDist((Sorted(Count) - SampleMean) /  _
SampleSigma)
F1i_minus(Count) = 1 - F1i(Count)
Next
F2i = F1i_minus
QuickSort F2i
For Count = 1 To NumberofData
Si(Count) = (2 * Count - 1) * (Log(F2i(Count)) + Log(F1i(Count)))
Next
'End Data table
'G23
s = WorksheetFunction.Sum(Si)
'B27 =-G23/B23-B23
AD = -s / NumberofData - NumberofData
'B28=B27*(1+0,75/B23+2,25/B23^2)
ADstar = AD * (1 + 0.75 / NumberofData + 2.25 / NumberofData ^ 2)
If ADstar = 0.6 Then p = Exp(1.2937 - 5.709 * ADstar + 0.0186 * ADstar ^ 2)
If ADstar = 0.34 Then p = Exp(0.9177 - 4.279 * ADstar - 1.38 * ADstar ^ 2)
If ADstar = 0.2 Then p = 1 - Exp(-8.318 + 42.796 * ADstar - 59.938 * ADstar ^ _
2)
If ADstar  x): j = j - 1: Wend
If (i  j)
If (lngStart 

Anzeige
AW: Anderson-Darling Test über Makro
02.02.2011 16:16:43
Andre´
Hallo Micha,
das die Nuss geknackt werden kann ...
ist ja echt KLASSE!!!
Funktioniert wirklich prima.
Tausend DANK für diese Lösung, und das in so kurzer Zeit (für mich gesehen)
MFG Andre

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige