Das willst du doch nicht wirklich, ...
14.03.2014 17:46:09
Luc:-?
…Frank! ;-]
Matrix(i, 1) = WorksheetFunction.Index(x, 0, 1) bewirkt, dass jedem Element z(i) der 1.Spalte von Matrix alle Zeilen der 1.Spalte der Matrix x übergeben wdn. Da Matrix aber kein 1dimensionaler Vektor ist, kann dieses, nebenbei, sinnlose Ergebnis zwar mit VBA ausgewertet, aber nicht auf einen Xl-ZellBereich abgebildet wdn. (Ransi hatte da auch etwas Anderes geschrieben!)
Was soll denn genau dabei rauskommen? Davon hängt schließlich ab, was getan wdn kann. Bisher ging ich davon aus, dass 2 Vektoren zu einer (neuen) Matrix vereinigt wdn sollen. Das ginge dann für 2 Spalten einer Matrix x zB so:
Dim Matrix As Variant, wf As WorksheetFunction
Set wf = WorksheetFunction: ReDim Matrix(1)
For i = 0 To 1
Matrix(i) = wf.Transpose(wf.Index(x, 0, i + 1))
Next i
Oder für 2 Zeilen …
For i = 0 To 1
Matrix(i) = wf.Index(x, i + 1, 0)
Next i
Man könnte hier aber auch …
Matrix(0) = wf.Transpose(wf.Index(x, 0, 1))
Matrix(1) = wf.Transpose(wf.Index(x, 0, 2)) bzw …
Matrix(0) = wf.Index(x, 1, 0)
Matrix(1) = wf.Index(x, 2, 0)
…schreiben, wobei es natürlich auch noch ganz darauf ankommt, welche Zeilen bzw Spalten von x ausgewählt wdn sollen. Das muss bei i (bzw seinem Vielfachen) natürlich auch berücksichtigt wdn.
Luc :-?