| Matrix |
| |
| |
| Die am häufigsten angewendete Methode für die Übertragung von Matrizendaten ist die Schleife, z. B. eine For... |
| Next... -Schleife. Die For...Next-Schleife erlaubt die Indizierung der Matrix und die schrittweise Übertragung einzelner |
| Elemente in die Zieladresse. Das gleiche Resultat kann auch ohne Anwendung einer Schleife mit Visual Basic |
| mittels der FormulaArray Eigenschaft des Range-Objekts erzielt werden. |
|
| Das vorgenannte Beispiel lässt sich leicht anwenden, wenn die Zellen des Zieltabellenblattes nur aus einer Zeile |
| bestehen. Sollen die Elemente einer Matrix jedoch auf einen Bereich mit vertikaler Zellenanordnung im Gegensatz |
| zu einer horizontalen Zellenanordnung (z. B. eine Spalte und mehrere Zeilen) übertragen werden, trifft das oben |
| erwähnte Beispiel nicht weiter zu. |
|
| Für den Fall, dass mehrzeilige Daten Bestandteil einer zweidimensionalen Matrix sind, muss die Ausrichtung der |
| Matrix gewechselt werden. Um dieses zu erreichen, können Sie die Matrix als zweidimensional definieren, mit |
| einer Größenangabe von mehreren Zeilen und einer Spalte. Beispiel: |
|
| Sub ArrayDump1() | Für eine einzeilige Matrix |
| Dim x(1 To 10) As Double | Deklariert eine Matrix mit 10 Elementen |
| For j = 1 To 10 | Berechnet Zufallszahlen |
| x(j) = j * j | |
| Next j | |
| Range(Cells(2, 1), Cells(2, 10)).FormulaArray = x | Überträgt Matrixelemente in einen horizontalen Bereich |
| End Sub | |
| |
| Sub ArrayDump2() | Für eine zweispaltige Matrix |
| Dim x(1 To 10, 1 To 1) As Double | Deklariert eine Matrix mit zehn Zeilen und einer Spalte |
| For j = 1 To 10 | Berechnet Zufallszahlen |
| x(j, 1) = j * j | |
| Next j | |
| Range(Cells(1, 2), Cells(10, 2)).FormulaArray = x | Überträgt Matrixelemente in einen vertikalen Bereich |
| End Sub | |
| |