VBA: Zugriff auf ein Array

Hallo !

ich würde gerne wissen, ob ich auf einzelne felder eines arrays zugreifen kann, wenn ich z.b. ein array „for 1=1 To 10“ habe (nach vorheriger eingabe von werten in einer schleife) und die einzelnen felder ausgeben möchte.

Wer kann helfen ?

Gruß
Alexandro

Hallo !

Hallo!

ich würde gerne wissen, ob ich auf einzelne felder eines
arrays zugreifen kann, wenn ich z.b. ein array „for 1=1 To 10“
habe (nach vorheriger eingabe von werten in einer schleife)
und die einzelnen felder ausgeben möchte.

Sicherlich kann man auf ein Array wieder zugreifen. Sonst hätten die „Dinger“ nicht viel Zweck.

Der folgenden Code zeigt ein paar Beispiele, wie man auf ein eindimensionales Array zugreifen kann:

Sub ArrayZugriffe()
'Ausgabe erfolgt im Direktfenster
Dim zähler As Integer
Dim ID As Integer
Dim Wert As Variant
Dim Arr1(1 To 10) As Integer
 
'Belegung des Array
For zähler = LBound(Arr1) To UBound(Arr1)
 Arr1(zähler) = zähler
Next zähler
 
'Ausgabemöglichkeit 1: alle Werte per "FOR EACH"
For Each Wert In Arr1
 Debug.Print Wert
Next Wert
Debug.Print
 
'Ausgabemöglichkeit 2: alle Werte mittels Schleife
For zähler = LBound(Arr1) To UBound(Arr1)
 Debug.Print Arr1(zähler)
Next zähler
Debug.Print
 
'Ausgabemöglichkeit 3: ausgewählter Bereich
For zähler = 3 To 7
 Debug.Print Arr1(zähler)
Next zähler
Debug.Print
 
'Ausgabemöglichkeit 4: einzelne Werte
 Debug.Print Arr1(5)
 ID = 9
 Debug.Print Arr1(ID)
End Sub

Debug.Print gibt die Werte im Direktfenster aus. Es ist genauso eine Ausgabe in ein Exceltabellenblatt machbar (z.B. „ActiveSheet.Range(„A“ & zeilenzähler).Value=Arr1(zähler)“)

Hoffe, das hilft weiter.
Ansonsten nochmal das genaue Problem schildern.

Gruß, tester

Du stellst dieMöglichkeiten sehr gut in Deiner Aantwort dar, jedoch ergibt sich für mich die Frage ob direkt die einzelne Stelle des Arrays ausgegeben werden kann (z.b.: ich gebe in 10 Zahlen ein und möchte nur die Zahl die am 5. Platz steht haben)

Gruß
Alexandro

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]