Thema Datum  Von Nutzer Rating
Antwort
Rot Suche in Excel-Tabelle - Ausgabe von ganzer Zeile
10.06.2016 08:54:13 Claudia
NotSolved
10.06.2016 18:54:08 Gast90297
NotSolved
13.06.2016 08:51:39 Claudia
NotSolved
13.06.2016 09:42:02 Gast12424
NotSolved
23.06.2016 14:50:48 Claudia
NotSolved
23.06.2016 14:56:03 Claudia
NotSolved
05.07.2016 09:17:08 Claudia
Solved

Ansicht des Beitrags:
Von:
Claudia
Datum:
10.06.2016 08:54:13
Views:
1483
Rating: Antwort:
  Ja
Thema:
Suche in Excel-Tabelle - Ausgabe von ganzer Zeile

Hallo!

Um mal ganz vorne anzufangen: Ich habe eine Liste mit Bauteilen, die ersten Spalten stellen quasi die "Kopfdaten" dar (Name, Kategorie, etc.), die hinteren die Spezifikationen des Bauteils (Größe, Norm, etc.). Mit VBA habe ich eine Suche programmiert (dank Google bin ich auf nützliche Codes gestoßen). Die Ausgabe der Suchergebnisse soll in einer ListBox erfolgen. Im Moment sieht es so aus, dass der Suchbegriff in jeder Zelle gesucht wird und jeder Treffer seperat in der ListBox erscheint. Enthält z.B. eine Zeile mehrmals das Wort "Elektronik", dann wird jede "Elektronik"-Zelle der gleichen Zeile in die ListBox getragen.

Praktischer wäre es, wenn zwar jede Zelle nach dem Suchbegriff abgesucht wird, aber bei mehrmaligen Treffern in einer Zeile nur die ganze Zeile einmal in die ListBox eingetragen wird, und die Suche mit der nächsten Zeile weitermacht.

Hier der Code:

Sub suchen()
    ListBox1.Clear 'Vor jeder Suche wird die ListBox geleert
    With Sheets("Bauteile")
    Set rng = .Range("A2:J" & .Rows.Count).Find(What:=TextBox1.Value, LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False, after:=.Cells(.Rows.Count, 1))
        If Not rng Is Nothing Then
            strFirst = rng.Address
            Do
                ListBox1.AddItem rng.Value
                ListBox1.List(lstSuche.ListCount - 1, 1) = rng.Offset(0, 1).Value
                ListBox1.List(lstSuche.ListCount - 1, 2) = rng.Offset(0, 2).Value
                ListBox1.List(lstSuche.ListCount - 1, 3) = rng.Row
            Set rng = .Range("A2:J" & .Rows.Count).FindNext(rng)
            Loop While Not rng Is Nothing And strFirst <> rng.Address
        End If
  End With
  Set rng = Nothing
End Sub

Ich habe es schon mit ListBox1.RowSource probiert, aber irgendwie gab das nur Salat und ich kam nicht weiter. Könnte mir bitte jemand helfen?

Vielen Dank!

Claudia


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Suche in Excel-Tabelle - Ausgabe von ganzer Zeile
10.06.2016 08:54:13 Claudia
NotSolved
10.06.2016 18:54:08 Gast90297
NotSolved
13.06.2016 08:51:39 Claudia
NotSolved
13.06.2016 09:42:02 Gast12424
NotSolved
23.06.2016 14:50:48 Claudia
NotSolved
23.06.2016 14:56:03 Claudia
NotSolved
05.07.2016 09:17:08 Claudia
Solved