Array in excel-vba
Ich eine array-Liste in vba, deshalb habe ich eine Variante erklärt in excel vba wie:
Dim Students(10) as variant
Nun möchte ich das speichern von Rufnummern in der Studenten-Liste. die zahlen sind nicht fortlaufend. Einmal wie:
Students(2,7,14,54,33,45,55,59,62,66,69)
Wie kann ich dies in vba? auch wie kann ich Zugang zu der Liste posten?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schülern muss erklärt werden, als ein dynamisches array. Das heißt, ein array, dessen Grenzen verändert werden kann.
Dim Students(10)
gibt ein array, dessen Grenzen nicht geändert werden, und kann nicht geladen werden aus einem array.Laden Studenten:
Zugriff auf die Elemente:
LBound (Lower bound) und UBound bedeuten, dass die for-Schleife stellt sich auf die tatsächliche Anzahl der Elemente bei den Schülern.
Dies ist zu Komplex für Sie jetzt, und Sie werden wahrscheinlich nie in eine situation, wo Sie brauchen werden, aber:
Benutze ich folgende Methode für die mehr-Speicher-effiziente arrays (Variante verwendet, weil die meisten Speicher von allen Variablentypen), während immer noch den Komfort deklarieren der array-Inhalt in einer Zeile. Zu Ihrem Beispiel zu Folgen:
Ein Beispiel für den Zugriff auf, es wäre so etwas wie:
Lernte ich von hier: http://www.vbforums.com/showthread.php?669265-RESOLVED-VBA-Excel-Assigning-values-to-array-in-a-single-line&p=4116778&viewfull=1#post4116778
arrStrings() = Split("Item1, Item2, Item3", ", ",,vbtextcompare)
oder was auch immer.Können Sie das hinzufügen von Werten zu einem Array wie diesem...
Oder so
Dann können Sie auf die Werte in der gleichen manor. Hinweis: wenn Sie die zweite option, die Sie benötigen, deklarieren Sie es wie folgt:
Gut,
Das hängt davon ab, wie würden Sie liefern die Werte für das array, würden Sie die Werte aus Arbeitsblatt.Bereich oder aus TextBox oder ListBox , Aber grundsätzlich würde der code etwa so lauten :
Es ist keine gute Praxis zu dim array als Variant, wenn Sie wissen sicherlich, dass Sie verwenden nur Ganzzahlen, wie es wird Essen eine Menge von Speicher, die nicht benötigt in den ersten Platz.
Sie sollten sich auch bewusst sein, die Grenzen der zahlen, die zugeordnet werden, wenn diese über die Integer Grenze dann sollten Sie Double oder Float.
Dies ist meine erste Teilnahme an der site,Cheers.