Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Übergabe der Ergebnisse funktioniert nicht

Übergabe der Ergebnisse funktioniert nicht
12.03.2014 11:03:34
Frank
Hallo an Alle,
ich habe mir eine UDF geschrieben. Hintergrund ist, dass ich verschiedene Ergebnisreihen habe die eine unterschiedliche Anzahl an x bzw. y Werten haben. Um die Datenreihen vergleichbar zu machen werden die Ergebnisse sozusagen normiert auf eine bestimmte Anzahl an Datenpunkten. Da es das erste mal ist, dass ich eine Array-UDF schreibe, würde ich gern wissen wie ich nun die berechnete Matrix aus VBA nach Excel übergebe?
https://www.herber.de/bbs/user/89639.xlsm
So sieht der Code aus:
Function Normfunktion(x, y, min As Double, max As Double, n As Single) As Double
Dim delta_s As Double, delta_s_original As Double, xAnz, yAnz, xVek, yVek, xyResultMatrix(), i  _
As Integer, j As Integer
Dim skl As Double, sgr As Double, sges As Double, Fkl As Double, Fgr As Double, Fges As Double
delta_s = (max - min) / (n - 1)
delta_s_original = delta_s
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
xAnz = x.Count
yAnz = y.Count
j = 1
'Kontrolle der Eingabe
If (xAnz  xAnz) Then
MsgBox "Anzahl x-Werte und Anzahl y-Werte muss gleich gross sein"
Normfunktion = CVErr(xlErrValue)
Exit Function
End If
'übergeben der Wertepaare
xVek = x    'Vektor des ursprünglichen Weges
yVek = y    'Vektor der ursprünglichen Kraft
ReDim xyResultMatrix(1 To n, 1 To 2)  'Ergbnismatrix Spalte 1 Weg, Spalte 2 normierte Kraft
xyResultMatrix(1, 1) = 0  'erster Wert des Weges ist 0
xyResultMatrix(1, 2) = 0  'erster Wert der Kraft ist 0
For i = 2 To n   'Zuweisung des normierten Weges
xyResultMatrix(i, 1) = xyResultMatrix(i, 1) + delta_s
delta_s = delta_s_original + delta_s
Next i
For i = 2 To n
Do Until xyResultMatrix(i, 1)  0
If xVek(j, 1) 

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Problem gelöst...anbei die Funktion
12.03.2014 16:00:03
Frank
Da mir hier schon oft und sehr zügig geholfen wurde, möchte ich meine kleine Arrayfunktion euch nicht vorenthalten.
Wie gesagt kann man damit Ergebnisse einer Datenreihe x y quasi auf ein bestimmtes Delta normieren und somit vergleichbar zu machen. Ein Beispiel wäre...
Ich habe eine Datenreihe A mit 620 Ergbnispaaren und eine Datenreihe B mit 896 Datenpaaren. Aufgabe bilde eine Mittelwertkurve aus beiden. Das geht nur wenn man die Werte beider Datenreihen vereinheitlicht. Vielleicht kann es jemand gebrauchen.
https://www.herber.de/bbs/user/89647.xlsm
Verbesserungen erwünscht.
Viele Grüße
Frank
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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