Excel VBA Befehle aus Folge 8: Dynamische Arrays

Inhalt dieser Folge:

  • Wie kann ich die Einträge aus einem Tabellenblatt automatisch in ein Array speichern?
  • Wie passe ich die Dimension des Arrays an?
  • Mit welchem Befehl kann ich mir die obere Grenze meines Arrays ausgeben lassen?
Download
Diese Folge als PDF kostenlos herunterladen
Folge08 Dynamische Arrays.pdf
Adobe Acrobat Dokument 615.9 KB

Ausgangssituation:

  • Wir starten mit dem rechts dargestellten Tabellenblatt. Dort befinden sich 5 Einträge in Spalte A.
  • Im Folgenden wollen wir diese 5 Einträge in ein Array speichern.
  • Die Besonderheit hierbei ist, dass das Array seine Größe automatisch an die Anzahl der in Spalte A vorhandenen Einträge anpasst.

Lösungsvorschlag 1:

'Die Variablen definieren

Dim staedte()

Dim size As Integer

Dim i As Integer

 

'Anzahl der Einträge in Spalte 1 der Variable size zuweisen

size = WorksheetFunction.CountA(Worksheets(1).Columns(1))

 

'Die Größe des Arrays anpassen

ReDim staedte(size)

 

'Dem Array die Werte aus Spalte 1 nach und nach zuweisen (Möglichkeit 1)

For i = 1 To size

staedte(i) = Cells(i,1).Value

Next i

 

'Größe des Arrays ausgeben lassen

MsgBox UBound(staedte)


Lösungsvorschlag 2:

'Die Variablen definieren

Dim staedte()

Dim size As Integer

Dim i As Integer

 

'Anzahl der Einträge in Spalte 1 der Variable size zuweisen

size = WorksheetFunction.CountA(Worksheets(1).Columns(1))

 

'Die Größe des Arrays anpassen

ReDim staedte(size)

 

'Dem Array die Werte aus Spalte 1 nach und nach zuweisen (Möglichkeit 2)

For i = 0 To size - 1

staedte(i) = Cells(i+1,1).Value

Next i

 

'Größe des Arrays ausgeben lassen

MsgBox UBound(staedte)




Auf einen Blick - Alle Folgen der VideoReihe!

Folge 1        Arbeitsmappen und Tabellenblätter ansprechen, sortieren, ...

Folge 2       Zellen ansprechen

Folge 3       Meldeboxen, MsgBox (PopUpFenster)

Folge 4       Schrifteinstellungen (Fett, Kursiv, Schriftart, Schriftfarbe, Schriftgröße, ...)

Folge 5       Variablen & Datentypen

Folge 6       Arrays / Datenfelder

Folge 7       For Next Schleifen

Folge 8       Dynamische Arrays

Folge 9       Rechenoperationen

Folge 10      Vergleichsoperatoren

Folge 11       Logische Operatoren

Folge 12      SuchFunktion (Einträge & Begriffe in Zellen suchen)

Folge 13      If Then Else - Verzweigungen

Folge 14      Do While Loop - Schleifen

Folge 15      Endlosschleifen verhindern

Folge 16      Die SortierFunktion (sortieren, nach mehreren Kriterien)

Folge 17      Select Case - Verzweigungen

Folge 18      InputBox (gestalten und Eingaben verwenden)

Folge 19      For Each Schleifen

Folge 20     Borders-Eigenschaften (Dynamisches Tabellendesign erstellen)

Folge 21      Laufzeitfehler & Syntaxfehler - finden und beheben

Folge 22     On Error GoTo - Laufzeitfehler abfangen

Folge 23     Alle Farben in VBA nutzen (ColorIndex, vb Color, RGB)

Folge 24     Zeichen ersetzen mit der REPLACE Funktion

Folge 25     Zeichen trennen mit der SPLIT Funktion

Folge 26     Zeichen verbinden mit der JOIN Funktion

Folge 27     Auszug aus einer Zeichenkette - LEFT, RIGHT, MID Funktion

Folge 28     Zeichenketten vergleichen mit UCase & LCase

Folge 29     Arbeitsmappen Ereignisse (Open, BeforeClose, BeforeSave)

Folge 30     Tabellenblatt Ereignisse (Change, BeforeDoubleClick)

Du hast ein Thema das noch nicht behandelt wurde? Lass es mich wissen :)


Jetzt abonnieren & kein Video

mehr verpassen!

Meine Arbeit unterstützen

Meine Empfehlungen

(Bücher und mehr)