Gibt es eine Möglichkeit, den Wert einer ganzen Zeile eines mehrdimensionalen Arrays zu einem eindimensionalen Array in VBA zurückzugeben?
Etwas wie arr_1dim = arr_2dim(3,:)
ist ein Matlab-Ausdruck für die Zuordnung der Zeile 3 von arr_2dim
array zu arr_1dim
in einem einzigen Abschnitt.
Gibt es eine ähnliche weniger teure Methode in Excel VBA?
Es gibt eine einfache Möglichkeit, eine Spalte oder eine Zeile eines zweidimensionalen Arrays zu erhalten. Weisen Sie der Spalte eine Null zu, um die Zeile zu erhalten, oder weisen Sie der Zeile eine Null zu, um die Spalte zu erhalten:
%Vor%Siehe hier: Wie schneide ich ein Array in Excel VBA?
Dies ist, was ich tue, um einfach eine Dimension eines mehrdimensionalen Arrays auszudrucken.
Grundsätzlich definiere ich ein neues 1D Array und stopf es mit den Werten aus dem größeren Array.
Beispiel (3D zu 1D zum Ausdruck):
%Vor%So mache ich es. Ich hoffe, das macht Sinn für jeden, der es liest. Ich denke, es ist ein sehr einfacher Weg, es zu tun.
Matlab ist so eine großartige Anwendung, wenn es um Matrizen, Arrays, Vektoren geht ...;) Aber Excel ist nicht so schlecht, es ist auch matrixbasiert.
Also vorausgesetzt, Sie wollen nicht durchschleifen. Sie können Ihre multi-D array
einfach in ein Arbeitsblatt mit Transpose
function ausgeben.
Dann ziehe Row
mit Transpose
in ein Array in die gewünschte Bereichsgröße.
Um absolut dynamisch zu sein, können Sie resize
your range A2:G2
mit einer dynamischen Zeilenanzahl unter Verwendung der multi-D array row upperbound
:)
Nein, es gibt keine VBA-Funktion, um eine Zeile oder Spalte zu erhalten. Du kannst es nur selbst schreiben oder einen Blick darauf werfen:
Ссылка
Dies ist, was ich tue, um einfach eine Dimension eines mehrdimensionalen Arrays auszudrucken.
Grundsätzlich definiere ich ein neues 1D Array und stopf es mit den Werten aus dem größeren Array.
Beispiel (3D zu 1D zum Ausdruck):
%Vor%So mache ich es. Ich hoffe, das macht Sinn für jeden, der es liest. Ich denke, es ist ein sehr einfacher Weg, es zu tun.
Da ich diese Frage kürzlich selbst gestellt hatte, möchte ich meinen Code teilen. Ich habe eine gebrauchsfertige Funktion geschrieben, in der Sie auswählen können, ob Sie eine Spalte oder eine Zeile extrahieren möchten:
%Vor%Matlab ist so eine großartige Anwendung, wenn es um Matrizen, Arrays, Vektoren geht ...;) Aber Excel ist nicht so schlecht, es ist auch matrixbasiert.
Also vorausgesetzt, Sie wollen nicht durchschleifen. Sie können Ihre %code% einfach in ein Arbeitsblatt mit %code% function ausgeben.
Dann ziehe %code% mit %code% in ein Array in die gewünschte Bereichsgröße.
%Vor%Um absolut dynamisch zu sein, können Sie %code% your %code% mit einer dynamischen Zeilenanzahl unter Verwendung der multi-D %code% :)
verwendenEs gibt eine einfache Möglichkeit, eine Spalte oder eine Zeile eines zweidimensionalen Arrays zu erhalten. Weisen Sie der Spalte eine Null zu, um die Zeile zu erhalten, oder weisen Sie der Zeile eine Null zu, um die Spalte zu erhalten:
%Vor%Siehe hier: Wie schneide ich ein Array in Excel VBA?
Gibt es eine Möglichkeit, den Wert einer ganzen Zeile eines mehrdimensionalen Arrays zu einem eindimensionalen Array in VBA zurückzugeben?
Etwas wie %code% ist ein Matlab-Ausdruck für die Zuordnung der Zeile 3 von %code% array zu %code% in einem einzigen Abschnitt.
Gibt es eine ähnliche weniger teure Methode in Excel VBA?
Tags und Links arrays vba multidimensional-array assign