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

Suchfunktion

Forumthread: Suchfunktion

Suchfunktion
07.03.2008 06:16:00
amintire
Guten morgen alle zusammen.
Ich hab hier einen Code für eine Suchfunktion. Funktioniert auch, allerdings sucht der genau nach dem Wort, würde es aber gern so wollen dass er auch ähnliche begriffe sucht.

Sub Suchen()
Dim rng As Range
Dim sFind As String
sFind = InputBox( _
prompt:="Suchbegriff:", _
Default:="")
If sFind = "" Then Exit Sub
Set rng = Columns(2).Find( _
what:=sFind, lookat:=xlWhole, LookIn:=xlValues)
'Columns (2) bedeutet zweite Spalte in der Tabelle, in der wird gesucht
If rng Is Nothing Then
Beep
MsgBox "Der Film ist leider nicht vorhanden!"
Exit Sub
End If
Rows(rng.Row).Select
End Sub


Gruß amintire

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Suchfunktion
07.03.2008 07:16:00
Tino
Hallo,
versuche es mal mit
Set rng = Columns(2).Find( _
what:=sFind, LookAt:=xlPart, LookIn:=xlValues)
Gruß
Tino

AW: Suchfunktion
07.03.2008 08:37:00
amintire
Hallo Tino,
vielen Dank, funktioniert.
Was aber wenn es mehrere Namen gibt die gefunden werden können?
Gruß

AW: Suchfunktion
07.03.2008 14:31:24
Tino
Hallo,
so müsste es gehen.

Sub Suchen()
Dim rng As Range
Dim sFind As String, AnZ As Long, a As Long
Dim Spa As String
sFind = InputBox( _
prompt:="Suchbegriff:", _
Default:="")
If sFind = "" Then Exit Sub
'Zähle sFind in Spalte B
AnZ = Application.WorksheetFunction.CountIf(Columns(2), "*" & sFind & "*")
If AnZ = 0 Then 'Abbruch bei 0 Treffer
Beep
MsgBox "Der Film ist leider nicht vorhanden!"
Exit Sub
End If
'Suche erste sFind in Spalte B
Set rng = Columns(2).Find( _
what:=sFind, LookAt:=xlPart, LookIn:=xlValues, after:=Range("B1"))
Spa = Spa & rng.Row & ":" & rng.Row & ", " 'Adresse Merken
If AnZ > 1 Then 'mehr als 1 treffer suche weiterer
For a = 1 To AnZ - 1
Set rng = Columns(2).FindNext(after:=rng)
Spa = Spa & rng.Row & ":" & rng.Row & ", " 'Adresse Merken
Next a
End If
Spa = Left(Spa, Len(Spa) - 2) 'lösche rechten Rest aus Adresse
Range(Spa).Select 'Selektiere gefundene Zeilen
MsgBox "Der Film wurde " & AnZ & " mal gefunden"
End Sub


Gruß
Tino

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