Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1352to1356
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

Ü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) 

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

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige