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

VBA - Array überprüfen

Forumthread: VBA - Array überprüfen

VBA - Array überprüfen
25.01.2007 12:06:44
Florian
Hallo zusammen,
folgendes Problem:
Wie kann ich ein Array auf Werte prüfen? Also ob diese enthalten sind?
Außerdem möchte ich gerne die Array Größe ausgeben lassen.
Fragestellung: Enthält Array meinArray den Wert 1(String)?
Vielen Dank für die Hilfe schonmal im Voraus!
Gruss Flo
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA - Array überprüfen
25.01.2007 12:46:29
Uduuh
Hallo,
beispielsweise so:

Sub tt()
Dim myArray, i As Long, blnFound As Boolean, strSuch As String
strSuch = "c"
myArray = Array("a", "b", "c", "d", "e")
For i = 0 To UBound(myArray)
If myArray(i) = strSuch Then
blnFound = True
Exit For
End If
Next i
If blnFound = True Then
MsgBox strSuch & " gefunden."
Else
MsgBox strSuch & " nicht gefunden."
End If
End Sub

Gruß aus’m Pott
Udo

Anzeige
AW: VBA - Array überprüfen
25.01.2007 13:26:21
Florian
Hallo Udo,
danke für die Antwort. Auf die von dir gepostete For Schleife mit Verzweigung bin ich mittlerweile schon gekommen, hätte nur gehofft, dass es vielleicht ohne diese Umständlichkeit funktioniert.
Die UBound Funktion ist mir neu, Danke :) Die müsste aber auch über ein Array funktionieren, dass ich über
Dim testarray(100) as variant
erstellt habe funktionieren, oder?
Vielen Dank für die Hilfe schonmal im Voraus!
Gruss Flo
Anzeige
AW: VBA - Array überprüfen
25.01.2007 13:48:10
yps
hi,
um mal bei dem Beispiel zu bleiben:

Sub tt()
Dim myArray, strSuch As String
strSuch = "c"
myArray = Array("a", "b", "c", "d", "e")
If IsError(Application.Match(strSuch, myArray, 0)) Then
MsgBox strSuch & " nicht gefunden."
Else
MsgBox strSuch & " gefunden."
End If
End Sub

cu Micha
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Werte in einem Array mit VBA prüfen


Schritt-für-Schritt-Anleitung

Um in Excel VBA zu prüfen, ob ein Wert in einem Array vorhanden ist, kannst Du die folgenden Schritte befolgen:

  1. Array definieren: Erstelle ein Array, in dem Du die Werte speichern möchtest.
  2. Suchwert festlegen: Bestimme den Wert, den Du im Array suchen möchtest.
  3. Schleife verwenden: Setze eine Schleife ein, um jeden Wert im Array zu überprüfen.
  4. Ergebnis ausgeben: Verwende eine MsgBox, um das Ergebnis anzuzeigen.

Hier ist ein Beispielcode:

Sub CheckArray()
    Dim myArray As Variant
    Dim i As Long
    Dim blnFound As Boolean
    Dim strSuch As String

    strSuch = "c"
    myArray = Array("a", "b", "c", "d", "e")

    For i = 0 To UBound(myArray)
        If myArray(i) = strSuch Then
            blnFound = True
            Exit For
        End If
    Next i

    If blnFound Then
        MsgBox strSuch & " gefunden."
    Else
        MsgBox strSuch & " nicht gefunden."
    End If
End Sub

Häufige Fehler und Lösungen

  1. Kein Array-Wert gefunden

    • Problem: Das Array enthält den gesuchten Wert nicht.
    • Lösung: Überprüfe, ob der Suchwert korrekt eingegeben wurde.
  2. Fehler bei Array-Dimensionen

    • Problem: UBound funktioniert nicht wie erwartet.
    • Lösung: Stelle sicher, dass das Array korrekt initialisiert wurde.
  3. Fehler beim Zugriff auf Array-Elemente

    • Problem: Zugriff auf nicht existierende Indizes.
    • Lösung: Überprüfe die Länge des Arrays mit UBound.

Alternative Methoden

Neben der Verwendung einer Schleife kannst Du auch die Application.Match-Funktion verwenden, um einen Wert in einem Array zu suchen. Hier ist ein Beispiel:

Sub CheckArrayWithMatch()
    Dim myArray As Variant
    Dim strSuch As String

    strSuch = "c"
    myArray = Array("a", "b", "c", "d", "e")

    If IsError(Application.Match(strSuch, myArray, 0)) Then
        MsgBox strSuch & " nicht gefunden."
    Else
        MsgBox strSuch & " gefunden."
    End If
End Sub

Praktische Beispiele

  1. Prüfen, ob ein Array leer ist: Um zu prüfen, ob ein Array leer ist, kannst Du die Array-Größe abfragen:
Sub CheckIfArrayIsEmpty()
    Dim emptyArray() As Variant

    If IsEmpty(emptyArray) Then
        MsgBox "Das Array ist leer."
    Else
        MsgBox "Das Array ist nicht leer."
    End If
End Sub
  1. Array-Größe abfragen: Du kannst die Größe eines Arrays mit UBound abfragen:
Sub ArraySize()
    Dim myArray As Variant
    myArray = Array("a", "b", "c")

    MsgBox "Die Größe des Arrays ist: " & UBound(myArray) + 1
End Sub

Tipps für Profis

  • Nutze die InStr-Funktion, um nach Teilstrings in einem Array zu suchen.
  • Verwende Option Base 1, wenn Du mit 1-basierten Arrays arbeiten möchtest.
  • Halte die Array-Daten in Variablen vom Typ Variant, um flexibler zu sein.

FAQ: Häufige Fragen

1. Wie kann ich prüfen, ob ein Wert in einem Array vorhanden ist? Verwende eine Schleife oder die Application.Match-Funktion, um den Wert zu suchen.

2. Was mache ich, wenn das Array leer ist? Nutze die IsEmpty-Funktion, um zu überprüfen, ob das Array leer ist.

3. Wie kann ich die Größe eines Arrays in VBA abfragen? Verwende die Funktion UBound, um die maximale Indexnummer des Arrays zu erhalten.

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