Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1292to1296
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

IntegerArray nach VaiantArray

IntegerArray nach VaiantArray
16.01.2013 21:56:00
Eddie
Hallo,
vielleicht kennt jemand diese Routine die überall im web rum liegt:
Sub test()
Dim knowny As Variant
Dim knownx As Variant
Dim newx As Integer
Dim myval As Integer
knowny = Array(2, 4, 6, 8, 10)
knownx = Array(1, 2, 3, 4, 5)
newx = 6
'On Error Resume Next
myval = Application.WorksheetFunction.Trend(knowny, knownx, newx)
'     'next error, err as normal.
'    On Error GoTo 0
'    Err.Clear
Debug.Print myval
End Sub 
Ich möchte knownx und knowny gerne dynamisch mit Integer-Variablen füttern, bisher ist mir aber nur der Umweg über eine Tabelle auf einem Worksheet gelungen. Am liebsten möchte ich aber nicht über eine Tabelle gehen, sondern direkt aus einem Integer Array zuweisen. Ich bekomme das nicht hin, weil ich nichtmal einen einzigen Wert schleifentauglich übergeben bekomme.
Ich versuche das anders zu erklären:
Dim a%(5)
knowny = Array(a(1), a(2), a(3), a(4), a(5))
Wenn ich mein IntegerArray so adressieren würde, wäre zum Einen ungewollte die Anzahl der Variablen fest, nämlich 5 und zum Anderen könnte ich die Zahlen nicht durch eine Schleifenvariable ersetzen a(i)
Also versuche ich
knowny(i)=a(i)
Aber so bekomme ich, wie bei 20 anderen Varianten die ich probiert habe, immer eine Fehlermeldung.
Ich hoffe es ist zu verstehen was ich möchte und es kann jemand helfen
Gruß Eddie

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: IntegerArray nach VaiantArray
17.01.2013 08:21:17
fcs
Hallo Eddie,
es scheint so, dass alle Parameter als Feldvariablen übergeben werden müssen.
Das Ergebnis ist dann übrigens auch ein Array entsprechend der ANzahl der unabhängen Variablen je Wertezeile.
Im Einfacshsten Fall hat dann die Anzahl der X-Spalten den Wert 1.
Gruß
Franz
Sub WerteTrend()
Dim WerteX() As Double
Dim WerteY() As Double
Dim AnzahlWerte As Long, X_spalten As Long
Dim WerteNeu() As Double
AnzahlWerte = 5
X_spalten = 1 'Anzahl der unabhägigen Variablen für den Trend
ReDim WerteX(1 To AnzahlWerte, 1 To X_spalten)
ReDim WerteY(1 To AnzahlWerte, 1 To 1)
ReDim X_WerteNeu(1 To X_spalten)
WerteX(1, 1) = 1: WerteX(2, 1) = 2: WerteX(3, 1) = 3: WerteX(4, 1) = 4: WerteX(5, 1) = 5
WerteY(1, 1) = 2: WerteY(2, 1) = 4: WerteY(3, 1) = 6: WerteY(4, 1) = 8: WerteY(5, 1) = 10
X_WerteNeu(1) = 6
Call fncmyval(knowny:=WerteY, knownx:=WerteX, newx:=X_WerteNeu)
End Sub
Function fncmyval(knowny As Variant, knownx As Variant, newx As Variant) As Variant
Dim myval As Variant, iErgebnis As Long
On Error GoTo Fehler
myval = Application.WorksheetFunction.Trend(knowny, knownx, newx)
'    Err.Clear
For iErgebnis = LBound(myval) To UBound(myval)
MsgBox "Ergbnis(" & iErgebnis & "): " & myval(iErgebnis)
Debug.Print "Ergbnis(" & iErgebnis & "): " & myval(iErgebnis)
Next
fncmyval = myval
Exit Function
Fehler:
fncmyval = "Fehler"
End Function

Anzeige
AW: IntegerArray nach VaiantArray
17.01.2013 19:57:49
Eddie
Hallo Franz,
dass möchte ich eine perfekte Problemlösung nennen und ich weiß gar nicht wie ich danken soll. Der Lösung war ich schon relativ nahe. Ich hatte beim Übertragen der Array nicht beachtet, dass knowny und x jeweils zwei Dimensionen haben.
Vielen Dank!
Gruß Eddie

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige