Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: variant array leeren

variant array leeren
10.01.2014 19:00:52
Egon
Liebe Leute
Ich habe einen Array vom Typ variant
dim myArray(41) as variant
den ich dann im Verlauf mit allerhand verschiedenen Eingabedaten fülle. Beim Drücken von "Cancel" möchte ich den Array nun wieder leeren. Wie mache ich das?
Vielen Dank für eure Hilfe
Egon

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: variant array leeren
10.01.2014 19:12:35
Hajo_Zi
Hallo Egon
Erase MyArray

AW: variant array leeren
10.01.2014 19:36:54
Egon
Ganz herzlichen Dank für die superschnellen Antworten
Egon

Erase(...) siehe Archiv! owT
10.01.2014 19:14:14
Matthias
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Variant Array leeren in Excel VBA


Schritt-für-Schritt-Anleitung

Um ein Variant Array in Excel VBA zu leeren, kannst du die Erase-Anweisung verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Deklariere dein Array:

    Dim myArray(41) As Variant
  2. Fülle dein Array mit Daten (optional):

    myArray(0) = "Daten1"
    myArray(1) = "Daten2"
  3. Leere das Array:

    Erase myArray

Durch die Verwendung von Erase wird der gesamte Inhalt des Arrays gelöscht und der Speicherplatz freigegeben.


Häufige Fehler und Lösungen

  • Fehler: "Typeninkonsistenz" beim Leeren des Arrays.

    • Lösung: Stelle sicher, dass du das Array korrekt deklariert hast. Bei einem Variant Array sollte die Deklaration wie folgt aussehen:
      Dim myArray() As Variant
  • Fehler: Das Array bleibt nach Erase nicht leer.

    • Lösung: Überprüfe, ob du das Array erneut deklariert hast. Nach dem Erase-Befehl musst du das Array möglicherweise wieder initialisieren.

Alternative Methoden

Falls du dein Array nicht mit Erase leeren möchtest, gibt es folgende Alternativen:

  • Manuelles Setzen auf Nothing:

    Set myArray = Nothing
  • Neudeklaration des Arrays:

    Dim myArray(41) As Variant

Diese Methoden sind nützlich, wenn du das Array mit neuen Werten füllen möchtest, ohne die alte Datenstruktur zu behalten.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du ein Variant Array in Excel VBA leeren kannst.

  1. Beispiel mit Benutzereingabe:

    Dim myArray(41) As Variant
    ' Fülle das Array mit Eingabewerten
    For i = 0 To 41
       myArray(i) = InputBox("Gib Wert " & i & " ein:")
    Next i
    
    ' Leere das Array, wenn der Benutzer "Cancel" drückt
    If MsgBox("Möchtest du das Array leeren?", vbYesNo) = vbYes Then
       Erase myArray
    End If
  2. Beispiel zur Verwendung in einer Funktion:

    Function LeereArray() As Variant
       Dim myArray(41) As Variant
       ' Hier könnte eine Logik stehen, die das Array füllt
       Erase myArray
       LeereArray = myArray
    End Function

Tipps für Profis

  • Nutze ReDim für dynamische Arrays, um den Speicher effizient zu verwalten. Beispiel:

    Dim myArray() As Variant
    ReDim myArray(0 To 41)
  • Denke daran, dass Erase nicht nur die Inhalte löscht, sondern auch die Array-Größe zurücksetzt. Stelle sicher, dass du die Struktur deines Arrays nach dem Löschen beachtest.


FAQ: Häufige Fragen

1. Wie kann ich ein Array mit Werten zurücksetzen, ohne es zu löschen? Du kannst die Werte einfach auf Empty setzen:

For i = LBound(myArray) To UBound(myArray)
    myArray(i) = Empty
Next i

2. Was ist der Unterschied zwischen Erase und Set myArray = Nothing? Erase löscht den Inhalt des Arrays und setzt die Größe zurück, während Set myArray = Nothing die Referenz auf das Array entfernt, aber die Daten im Speicher verbleiben können, bis sie überschrieben werden.

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