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

Forumthread: Suchen mit VBA, Zeilen auslassen

Suchen mit VBA, Zeilen auslassen
Jonathan
Hey,
mit folgendem Code suche ich in einem Bereich nach Werte und trage diese in ein Feld ein; hierbei ist aber sehr unpraktisch, dass bei mehreren passenden Werten in einer Zeile diese dann auch mehrfach in das Feld eingetragen werden. Wie muss ich den Code entsprechend anpassen?
Ich hatte überlegt, nach jeder Fundstelle einen Wert in Spalte G (dafür ist sie bereits berücksichtigt) einzutragen und bei der Suche auf diesen Wert zu prüfen: vorhanden = nicht eintragen, nicht vorhanden = eintragen. Allerdings weiß ich auch hier nicht, wie ich den Code anpassen müsste.

Set WkSh = ThisWorkbook.Sheets("Suchwerte")
With WkSh
Set rZelle = .Range("A2:G" & ersteZelleoDaten(Sheets("Suchwerte"), 1, 2) - 1).find(Me. _
txt_find.Value, LookAt:=xlPart, LookIn:=xlValues)
If Not rZelle Is Nothing Then
sFundst = rZelle.Address
Do
Me.lbox_find.AddItem " "
Me.lbox_find.List(lLiBox, 0) = WkSh.Cells(rZelle.Row, 1).Value
Me.lbox_find.List(lLiBox, 1) = WkSh.Cells(rZelle.Row, 2).Value
Me.lbox_find.List(lLiBox, 2) = WkSh.Cells(rZelle.Row, 3).Value
Me.lbox_find.List(lLiBox, 3) = WkSh.Cells(rZelle.Row, 4).Value
Me.lbox_find.List(lLiBox, 4) = WkSh.Cells(rZelle.Row, 5).Value
lLiBox = lLiBox + 1
Set rZelle = .Cells.FindNext(rZelle)
Loop While Not rZelle Is Nothing And rZelle.Address  sFundst
End If
End With
Danke für Eure Hilfe!!!
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Suchen mit VBA, Zeilen auslassen
27.11.2011 08:40:55
Josef

Hallo Jonathan,
ungetestet!
Dim objSh As Worksheet, rng As Range, strFirst As String
Dim lngRow() As Long, lngIndex As Long

Redim lngRow(0)

Set objSh = ThisWorkbook.Sheets("Suchwerte")

With objSh
  Set rng = .Range("A2:G" & ersteZelleoDaten(Sheets("Suchwerte"), 1, 2) - 1).Find(txt_find.Value, LookAt:=xlPart, LookIn:=xlValues)
  If Not rng Is Nothing Then
    strFirst = rng.Address
    Do
      If IsError(Application.Match(rng.Row, lngRow, 0)) Then
        lbox_find.AddItem " "
        lbox_find.List(lngIndex, 0) = .Cells(rng.Row, 1).Value
        lbox_find.lbox_find.List(lngIndex, 1) = .Cells(rng.Row, 2).Value
        lbox_find.lbox_find.List(lngIndex, 2) = .Cells(rng.Row, 3).Value
        lbox_find.lbox_find.List(lngIndex, 3) = .Cells(rng.Row, 4).Value
        lbox_find.lbox_find.List(lngIndex, 4) = .Cells(rng.Row, 5).Value
        Redim Preserve lngro(lngIndex)
        lngRow(lngIndex) = rng.Row
        lngIndex = lngIndex + 1
      End If
      Set rng = .Range("A2:G" & ersteZelleoDaten(Sheets("Suchwerte"), 1, 2) - 1).FindNext(rng)
    Loop While Not rng Is Nothing And rng.Address <> strFirst
  End If
End With


« Gruß Sepp »

Anzeige
AW: Suchen mit VBA, Zeilen auslassen
03.12.2011 00:29:44
Jonathan
He,
vielen lieben Dank! Kam leider erst jetzt dazu, den Code zu testen und anzupassen. Funktioniert einwandfrei! ;-)
Für User, welche ähnliches suchen, hier der geänderte Code:
With objSh
Set rng = .Range("A2:G" & ersteZelleoDaten(Sheets("Suchwerte"), 1, 2) - 1).find(txt_find. _
Value, LookAt:=xlPart, LookIn:=xlValues)
If Not rng Is Nothing Then
strFirst = rng.Address
Do
If IsError(Application.Match(rng.Row, lngRow, 0)) Then
Me.lbox_find.AddItem " "
Me.lbox_find.List(lngIndex, 0) = .Cells(rng.Row, 1).Value
Me.lbox_find.List(lngIndex, 1) = .Cells(rng.Row, 2).Value
Me.lbox_find.List(lngIndex, 2) = .Cells(rng.Row, 3).Value
Me.lbox_find.List(lngIndex, 3) = .Cells(rng.Row, 4).Value
Me.lbox_find.List(lngIndex, 4) = .Cells(rng.Row, 5).Value
ReDim Preserve lngRow(lngIndex)
lngRow(lngIndex) = rng.Row
lngIndex = lngIndex + 1
End If
Set rng = .Range("A2:G" & ersteZelleoDaten(Sheets("Suchwerte"), 1, 2) - 1).FindNext(rng)
Loop While Not rng Is Nothing And rng.Address  strFirst
End If
End With

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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