Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
180to184
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
180to184
180to184
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Suchen nach Wort

Suchen nach Wort
14.11.2002 15:53:15
Doris
Hallo zusammen

Ich habe hier im Archiv folgenden Code gefunden, was mich erst mal sehr glücklich gemacht hat. Was muss ich an diesem Code nun noch ändern, damit die Suche auf einzelne Wörter durchgeführt werden kann.
Beispiel: in einer Zelle steht "Hans Muster". Wenn ich mit diesem Makro nach "Muster" suche, findet Excel nichts.

Sub MultiSeek()
Dim wks As Worksheet
Dim rng As Range
Dim sAddress As String, sFind As String
sFind = InputBox("Bitte Suchbegriff eingeben:")
For Each wks In Worksheets
Set rng = wks.Cells.Find( _
what:=sFind, _
lookat:=xlWhole, _
LookIn:=xlFormulas)
If Not rng Is Nothing Then
sAddress = rng.Address
Do
Application.Goto rng, True
If MsgBox( _
prompt:="Weiter", _
Buttons:=vbYesNo + vbQuestion _
) = vbNo Then Exit Sub
Set rng = Cells.FindNext(after:=ActiveCell)
If rng.Address = sAddress Then Exit Do
Loop
End If
Next wks
MsgBox prompt:="Keine neue Fundstelle!"
End Sub


Vielen Dank für Tipps
Doris

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Suchen nach Wort
14.11.2002 16:03:44
Regina
Hallo Doris,

ich erledige solche Suchen mit folgendem Makro auch aus der Recherche:


Sub MultiSelect()
Dim wks As Worksheet
Dim rngFind As Range, rngRows As Range
Dim lngRow As Long
Dim strFind As String, strSearch As String
strSearch = InputBox("Suchbegriff:", , "Eingabe")
Set rngFind = Cells.Find(strSearch)
If rngRows Is Nothing Then
Set rngRows = rngFind
End If
If Not rngFind Is Nothing Then
strFind = rngFind.Address
Do
Set rngRows = Application.Union(rngRows, rngFind.EntireRow)
Set rngFind = Cells.FindNext(After:=rngFind)
If rngFind.Address = strFind Then Exit Do
Loop
End If
rngRows.Select
Selection.Copy
Cells(1, 1).Select
Sheets.Add
ActiveSheet.Name = "Suchwerte" & Sheets.Count - 1
ActiveSheet.Paste
Cells(1, 1).Select
Application.CutCopyMode = False
End Sub

Gruß Regina

Anzeige
Re: Suchen nach Wort
14.11.2002 16:07:28
Doris
Hallo Regina

Leider hängt sich der Makro an folgender Stelle auf:

rngRows.Select

Was bedeutet das?

Doris

Re: Suchen nach Wort
14.11.2002 16:24:10
Martin Beck
Hallo Doris,

ungetestet: ersetze mal

lookat:=xlWhole


durch


lookat:=xlPart

Gruß
Martin Beck

Re: Suchen nach Wort
14.11.2002 16:31:19
Doris
Klappt soweit... aber jetzt werden nur noch Zellen in einem Tabellenblatt gefunden, seufz... Ziel ist, dass die gesamte Arbeitsmappe durchsucht wird!

Doris

Re: Suchen nach Wort
14.11.2002 16:48:48
Martin Beck
Hallo Doris,

kann ich nich nachvollziehen.

Sub MultiSeek()
Dim wks As Worksheet
Dim rng As Range
Dim sAddress As String, sFind As String
sFind = InputBox("Bitte Suchbegriff eingeben:")
For Each wks In Worksheets
Set rng = wks.Cells.Find( _
what:=sFind, _
lookat:=xlPart, _
LookIn:=xlFormulas)
If Not rng Is Nothing Then
sAddress = rng.Address
Do
Application.Goto rng, True
If MsgBox( _
prompt:="Weiter", _
Buttons:=vbYesNo + vbQuestion _
) = vbNo Then Exit Sub
Set rng = Cells.FindNext(after:=ActiveCell)
If rng.Address = sAddress Then Exit Do
Loop
End If
Next wks
MsgBox prompt:="Keine neue Fundstelle!"
End Sub


funktioniert einwandfrei und hält bei allen Zellen in allen Tabellen an, die "Muster" als Teilstring beinhalten.

Gruß
Martin Beck

Anzeige
Re: Suchen nach Wort
14.11.2002 21:54:36
Regina
Hallo Doris,


was heißt hängt sich auf, eigentlich müssen dann alle Zellen mit dem gesuchten Wort markiert bzw. selektiert sein, von da an mußt du dann weiter machen z. B.

Selection.copy ' was soll jetzt mit den Zellen passieren
Sheets("sowieso").select

Gruß Regina

54 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige