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

Forumthread: mehrere Ergebnisse suchen

mehrere Ergebnisse suchen
05.10.2006 09:26:00
ticonhh
Hallo liebes Forum,
habe ein Code, womit ich meine Tabelle durchsuchen kann. Brauche allerdings eine Möglichkeit mit einer Schleife alle möglichen Ergebnisse zurückzugeben. Wie könnte der Ansatz sein?
With ThisWorkbook.Worksheets(1).Range("v1:v500")
Set c = .Find(Trim(Uebergabe), LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address(0, 0)
Else:
MsgBox "Das Konto " & Uebergabe & " wurde nicht gefunden!"
Application.DisplayAlerts = True
Exit Sub
End If
End With
Dank und Gruss
ticonhh
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: mehrere Ergebnisse suchen
05.10.2006 09:39:01
P@ulchen
Hallo,
wie bzw. wo sollen denn die Fundstellen gelistet/markiert werden?
Verschiedene Beispiele zu Suchmasken (Suchen 1-4) findest Du auch hier:
Suchmasken
Gruß aus Leipzig
P@ulchen
www.excel-werkstatt.de

Anzeige
AW: mehrere Ergebnisse suchen
05.10.2006 09:47:25
Luschi
Hallo
die Such-Routine aus der Excel-Hilfe lautet so:
With Worksheets(1).Range("a1:a500")
Set c = .Find(2, lookin:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Value = 5
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
Da Excel bei Suche sich immer im Kreis dreht, also immer wieder von vorn beginnt, wenn der allerletzte Wert gefunden wurde, muß man sich die erste gefundene Adresse merken.
Gruß von Luschi
aus klein-Paris
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Mehrere Ergebnisse in Excel suchen


Schritt-für-Schritt-Anleitung

Um mehrere Ergebnisse mit VBA in Excel zu suchen, kannst Du den folgenden Ansatz verwenden:

  1. Öffne den VBA-Editor mit Alt + F11.
  2. Füge ein neues Modul hinzu.
  3. Kopiere den folgenden Code in das Modul:
Sub SucheMehrereErgebnisse()
    Dim ws As Worksheet
    Dim c As Range
    Dim firstAddress As String
    Dim suchenWert As String
    suchenWert = InputBox("Bitte den Suchbegriff eingeben:")

    Set ws = ThisWorkbook.Worksheets(1)

    With ws.Range("v1:v500")
        Set c = .Find(Trim(suchenWert), LookIn:=xlValues)

        If Not c Is Nothing Then
            firstAddress = c.Address
            Do
                MsgBox "Gefunden: " & c.Address
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> firstAddress
        Else
            MsgBox "Das Konto " & suchenWert & " wurde nicht gefunden!"
        End If
    End With
End Sub
  1. Schließe den VBA-Editor und führe das Makro aus, um die Suche zu starten.

Häufige Fehler und Lösungen

  • Fehler: "Das Konto wurde nicht gefunden!"

    • Lösung: Stelle sicher, dass der Suchbegriff korrekt eingegeben wurde und sich innerhalb des festgelegten Suchbereichs (v1:v500) befindet.
  • Fehler: Der Code bleibt hängen.

    • Lösung: Überprüfe, ob die Schleife ordnungsgemäß konfiguriert ist und dass die Adresse der ersten gefundenen Zelle richtig gespeichert wird.

Alternative Methoden

Wenn Du keine VBA-Lösungen verwenden möchtest, kannst Du die Excel-Funktion SVERWEIS (VLOOKUP) nutzen, um mehrere Ergebnisse zu finden. Allerdings ist SVERWEIS standardmäßig nur für die Rückgabe eines Ergebnisses geeignet. Du kannst jedoch mit Hilfe von Array-Formeln mehrere Ergebnisse anzeigen lassen.

Ein Beispiel für die Verwendung von SVERWEIS:

=SVERWEIS(A1;B1:C10;2;FALSCH)

Diese Formel sucht den Wert in A1 innerhalb des Bereichs B1:C10 und gibt das entsprechende Ergebnis zurück.


Praktische Beispiele

  1. VBA mit mehreren Ergebnissen: Der oben angegebene VBA-Code sucht nach einem Wert in der Spalte V und gibt alle gefundenen Adressen in einer MessageBox aus.

  2. Excel mit SVERWEIS: Du kannst die SVERWEIS-Formel verwenden, um spezifische Werte zu finden, jedoch nur das erste Ergebnis zurückzugeben. Um alle Ergebnisse zu sammeln, wäre eine Kombination mit einer Array-Formel nötig.


Tipps für Profis

  • Nutze die Find-Methode in VBA, um gezielt nach Werten zu suchen, die bestimmte Kriterien erfüllen. Dies ist besonders nützlich, wenn Du eine excel suche mit mehreren ergebnissen benötigst.
  • Wenn Du viele Daten hast, kann es sinnvoll sein, die Suche in kleinere Abschnitte zu unterteilen, um die Performance zu verbessern.
  • Bedenke, dass VBA dir eine flexiblere und leistungsfähigere Methode bietet, um mit großen Datenmengen umzugehen, insbesondere wenn Du vba find mehrere ergebnisse verwenden möchtest.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Ergebnisse in einer Zelle anzeigen lassen?
Du kannst die TEXTVERKETTEN-Funktion oder die AGGREGAT-Funktion in Kombination mit einer Array-Formel verwenden, um mehrere Werte in einer Zelle zu kombinieren.

2. Ist es möglich, die Suche zu automatisieren?
Ja, Du kannst das Makro in ein Arbeitsblatt-Ereignis einfügen, um die Suche automatisch auszulösen, wenn sich der Wert in einer bestimmten Zelle ändert.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige