Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Prüfen, ob Collection gefüllt ist

Forumthread: Prüfen, ob Collection gefüllt ist

Prüfen, ob Collection gefüllt ist
Uppe
Hallo,
wie kann ich prüfen, ob eine Collection gefüllt ist?
Ich möchte Select Case colWerte(1).Item(1) verwenden, bekomme aber eine Fehlermeldung, wenn dieses nicht existiert.
Kann ich irgendwie abfragen, ob die Collection gefüllt ist oder muss ich On Error Resume Next verwenden?
Danke und Gruß
Uppe
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Prüfen, ob Collection gefüllt ist
26.05.2010 10:40:58
MichaV
Die Anzahl der Elemente kannst Du mit .Count abfragen. Wenn .Count=0 dann ist die Collection leer.
Gruss- Micha
Danke!
26.05.2010 10:53:20
Uppe
Manchmal sieht man den Wald vor lauter Bäumen nicht.
Gruß Uppe
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Prüfen, ob eine Collection in Excel gefüllt ist


Schritt-für-Schritt-Anleitung

Um zu prüfen, ob eine Collection in Excel gefüllt ist, kannst du die .Count-Eigenschaft verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Collection erstellen: Zuerst musst du eine Collection in VBA erstellen. Das geht so:

    Dim colWerte As Collection
    Set colWerte = New Collection
  2. Elemente zur Collection hinzufügen (optional): Füge einige Elemente hinzu, um die Collection zu füllen:

    colWerte.Add "Wert1"
    colWerte.Add "Wert2"
  3. Überprüfen, ob die Collection gefüllt ist:

    If colWerte.Count = 0 Then
       MsgBox "Die Collection ist leer."
    Else
       MsgBox "Die Collection hat " & colWerte.Count & " Elemente."
    End If

Diese Methode ist einfach und effektiv, um sicherzustellen, dass du keine Fehlermeldungen erhältst, wenn du auf Elemente der Collection zugreifen möchtest.


Häufige Fehler und Lösungen

  • Fehler: "Index außerhalb des Bereichs"

    • Lösung: Dies geschieht, wenn du versuchst, auf ein Element zuzugreifen, das nicht existiert. Verwende die .Count-Eigenschaft, um sicherzustellen, dass die Collection gefüllt ist, bevor du auf Elemente zugreifst.
  • Fehler: "Objektvariable nicht festgelegt"

    • Lösung: Stelle sicher, dass die Collection tatsächlich instanziiert wurde, bevor du sie verwendest. Überprüfe, ob Set colWerte = New Collection ausgeführt wurde.

Alternative Methoden

Eine weitere Möglichkeit, die Füllung einer Collection zu prüfen, besteht darin, die Collection in einer Try-Catch-Struktur zu verwenden:

On Error Resume Next
Dim ersterWert As Variant
ersterWert = colWerte(1)
If Err.Number <> 0 Then
    MsgBox "Die Collection ist leer."
    Err.Clear
Else
    MsgBox "Der erste Wert ist: " & ersterWert
End If
On Error GoTo 0

Diese Methode kann nützlich sein, wenn du mehrere mögliche Fehler abfangen möchtest.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die Überprüfung der Collection in verschiedenen Szenarien verwenden kannst:

  1. Beispiel zur Erstellung und Überprüfung einer leeren Collection:

    Dim myCollection As Collection
    Set myCollection = New Collection
    
    If myCollection.Count = 0 Then
       MsgBox "Die Collection ist leer."
    End If
  2. Beispiel zur Verwendung der Collection in einer Schleife:

    Dim i As Integer
    For i = 1 To colWerte.Count
       MsgBox "Element " & i & ": " & colWerte(i)
    Next i

Diese Beispiele zeigen, wie du die Collection in realen Szenarien nutzen kannst.


Tipps für Profis

  • Verwende .Count immer: Es ist eine gute Praxis, die .Count-Eigenschaft zu verwenden, bevor du auf die Elemente der Collection zugreifst. So vermeidest du unerwartete Fehler.

  • Benutze Error-Handling: In komplexeren Anwendungen kann es hilfreich sein, Error-Handling mit On Error einzusetzen, um Fehler besser zu steuern und zu behandeln.

  • Dokumentiere deine Collections: Wenn du mehrere Collections in deinem Projekt verwendest, dokumentiere diese gut, um den Überblick zu behalten.


FAQ: Häufige Fragen

1. Wie kann ich eine Collection in Excel VBA erstellen?
Du kannst eine Collection in VBA mit Dim colWerte As Collection und Set colWerte = New Collection erstellen.

2. Was passiert, wenn ich auf ein Element einer leeren Collection zugreife?
Wenn du auf ein Element einer leeren Collection zugreifst, erhältst du einen "Index außerhalb des Bereichs" Fehler. Verwende die .Count-Eigenschaft, um dies zu vermeiden.

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