Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
1260to1264
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Find bei Doppelungen

VBA Find bei Doppelungen
Shizoe89
Guten Tag liebe Gemeinde,
ich sitze gerade an einer Datenbankabfrage, bei der über eine Suche die passende Zeile in ein UserForm geladen werden soll. Dazu habe ich mittels der Find-Funktion die Zelle ausfindig gemacht, bei welcher der gesuchte Begriff zum ersten Mal vorkommt.
StrSearch = Abfrage.TextBox7.Value
On Error GoTo Error02
Set Zelle = Tabelle2.UsedRange.Find(StrSearch)
IntRow = Zelle.Row
Abfrage.TextBox8.Value = IntRow
On Error GoTo 0
Call FindData
Exit Sub
Error02: MsgBox "Kein Eintrag zu Ihrer Suche gefunden!", vbExclamation, "Fehler
Über FindData() werden die Daten aus der Zeile ausgelesen und in die einzelenen Boxen im UserForm geschrieben. Das klappt auch alles wunderbar.
Leider kommt es aber auch vor, dass bestimmte Strings doppelt in der Tabelle vorkommen. So kann der String "Berlin" zum Beispiel als Ort, aber auch als Straße (Berlin!er Straße" vorkommen. Weiterhin haben vielleicht zwei Einträge den selben Nachnamen. Gibt es eine Möglichkeit in der Tabelle sozusagen "weiterzusuchen" um nicht nur den ersten Treffer anzuzeigen, sollte dieser nicht der passende sein?
Ich danke euch schon mal.. :)

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

Betreff
Benutzer
Anzeige
AW: VBA Find bei Doppelungen
16.05.2012 12:58:32
Beverly
Hi,
schau dir mal die VBA-Hilfe zum Stichwort Range.FindNext-Methode an.


AW: VBA Find bei Doppelungen
16.05.2012 13:33:34
Shizoe89
Hallo,
danke für den Tipp. Wenn ich es richtig verstehe, muss Findnext im selben Sub angewendet werden, ja? Also ist es praktisch nicht möglich das neue Ergebnis erst durch nochmaliges klicken auf "suchen" zu finden?
Ich dachte, dass es vielleicht dadurch geht, dass Excel den ersten Treffer selected und beim nächsten Klick nur ab dieser Zeile sucht. Geht das?
AW: VBA Find bei Doppelungen
16.05.2012 13:50:48
Beverly
Hi,
dann musst du eine Abfrage einbauen, ob weitergesucht werden soll - nach diesem Prinzip:
Sub zellinhalt_suchen()
Dim rngZelle As Range
Dim strSuchbegriff As String
Dim bytWeiter As Byte
strSuchbegriff = InputBox("Suchbegriff:")
If strSuchbegriff  "" Then
With ActiveSheet.UsedRange
Set rngZelle = .Find(strSuchbegriff, lookat:=xlWhole, LookIn:=xlValues)
If Not rngZelle Is Nothing Then
firstAddress = rngZelle.Address
Do
Application.Goto reference:=rngZelle
bytWeiter = MsgBox("Weiter suchen?", vbOKCancel)
If bytWeiter = 2 Then Exit Do
Set rngZelle = .FindNext(rngZelle)
Loop While Not rngZelle Is Nothing And rngZelle.Address  firstAddress
End If
End With
End If
Set rngZelle = Nothing
End Sub



Anzeige

147 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige