Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Einem Array Werte hinzufügen?

Forumthread: Einem Array Werte hinzufügen?

Einem Array Werte hinzufügen?
17.07.2003 14:07:02
Peter
Hallo! Wie füge ich dem Array

MyVar = Array("aaa", "bbb", "ccc")
den Wert "ddd" usw. hinzu?? Leider bin ich n der Hilfe nicht fündig geworden...
Peter
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einem Array Werte hinzufügen?
17.07.2003 15:19:16
ChrisL
Hi Peter
Option Explicit

Sub test()
Dim MyVar As Variant
MyVar = Array("aaa", "bbb", "ccc")
ReDim Preserve MyVar(3)
MyVar(3) = "ddd"
Range("A1:D1") = MyVar
End Sub

Die Array Nummerierung läuft von 0-3 (= 4 Einträge). Wenn du die Anzahl nicht kennst, kannst du diese mit Ubound ermitteln.
Ferner beachte, dass sich bei einem mehrdimensionalen Array nur eine der beiden Dimensionen mit ReDim Preserve erweitern lässt. Ansonsten musst du das Array mit Ergänzung in ein neues Array einlesen.
Gruss
Chris

Anzeige
Danke!
17.07.2003 16:07:00
Peter
Genau das habe ich gesucht.
Thx.

;
Anzeige

Infobox / Tutorial

Werte zu einem Array in Excel VBA hinzufügen


Schritt-für-Schritt-Anleitung

Um einem Array in Excel VBA Werte hinzuzufügen, kannst du die ReDim Preserve-Anweisung verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Deklaration des Arrays: Beginne mit der Deklaration eines Arrays und initialisiere es.

    Dim MyVar As Variant
    MyVar = Array("aaa", "bbb", "ccc")
  2. Erweiterung des Arrays: Verwende ReDim Preserve, um das Array zu erweitern und einen neuen Wert hinzuzufügen.

    ReDim Preserve MyVar(3)
    MyVar(3) = "ddd"
  3. Ausgabe des Arrays: Du kannst das Array in einer Range ausgeben, um die hinzugefügten Werte zu sehen.

    Range("A1:D1") = MyVar

Häufige Fehler und Lösungen

  • Fehler: Laufzeitfehler 9 - Index außerhalb des zulässigen Bereichs

    • Lösung: Stelle sicher, dass du die Größe des Arrays korrekt erweiterst. Achte darauf, dass die Indizes von 0 beginnen.
  • Fehler: ReDim Preserve kann nur die letzte Dimension eines mehrdimensionalen Arrays ändern

    • Lösung: Wenn du ein mehrdimensionales Array hast, kannst du nur die letzte Dimension mit ReDim Preserve ändern. Um ein Element in der ersten Dimension hinzuzufügen, musst du das gesamte Array in ein neues Array kopieren.

Alternative Methoden

Wenn du häufig Werte zu einem Array hinzufügen musst, kannst du auch eine Collection oder ein Dictionary verwenden. Diese bieten eine flexiblere Möglichkeit, Elemente hinzuzufügen:

Dim MyCollection As Collection
Set MyCollection = New Collection
MyCollection.Add "aaa"
MyCollection.Add "bbb"
MyCollection.Add "ccc"
MyCollection.Add "ddd"  ' Hier fügst du einfach ein weiteres Element hinzu

Praktische Beispiele

Hier ist ein einfaches Beispiel, das zeigt, wie du mehrere Werte zu einem Array hinzufügen kannst:

Sub AddItemsToArray()
    Dim MyVar As Variant
    Dim i As Integer

    MyVar = Array("aaa", "bbb", "ccc")

    ' Anzahl der bestehenden Elemente im Array ermitteln
    Dim numElements As Integer
    numElements = UBound(MyVar) + 1

    ' Array erweitern
    ReDim Preserve MyVar(numElements)

    ' Weitere Werte hinzufügen
    For i = 0 To 2
        MyVar(numElements + i) = "newValue" & (i + 1)
    Next i

    ' Ausgabe des Arrays
    Range("A1").Resize(1, UBound(MyVar) + 1) = MyVar
End Sub

Tipps für Profis

  • Array-Werte effizient hinzufügen: Verwende eine Collection, wenn du häufig Werte hinzufügst oder entfernst. Collections sind dynamisch und benötigen kein ReDim.
  • Verwende Option Explicit: Dies hilft dir, Fehler bei der Variablen-Deklaration zu vermeiden und den Code sauberer zu halten.
  • Behalte die Performance im Auge: Bei großen Arrays kann das häufige Hinzufügen von Werten zu Performance-Problemen führen. Überlege dir, das Array einmalig zu erstellen und dann die Werte in einem Schritt zu kopieren.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Werte gleichzeitig zu einem Array hinzufügen?
Du kannst ein bestehendes Array in ein neues Array kopieren und dann die neuen Werte hinzufügen, oder du verwendest eine Collection.

2. Was ist der Unterschied zwischen einem Array und einer Collection in VBA?
Ein Array hat eine feste Größe und kann nur über ReDim erweitert werden, während eine Collection dynamisch ist und einfach Werte hinzugefügt oder entfernt werden können.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige