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

Suche zeilenbezogen...

Suche zeilenbezogen...
22.11.2007 14:45:17
Micha
Hallo, ich doktor schon seit Stunden an einer Suchfunktion rum, die über alle Sheets einen Begriff suchen soll, der mehrmals in einer Zeile vorkommen kann... Ich möchte, dass beim ersten Vorkommen des Begriffs in der entsprechenden Zeile diese Zeile markiert wird und die Suche in der nächsten Zeile fortgesetzt wird...
Hier mein bisheriger Code....

Sub Seek(Begriff As String)
Dim wks As Worksheet
Dim rng As Range
Dim sAddress
frmSuche.Hide
For Each wks In Worksheets
Set rng = wks.Cells.Find(what:=Begriff, LookIn:=xlValues, SearchOrder:=xlByColumns)
If Not rng Is Nothing Then
sAddress = rng.Address
Do
Application.Goto rng, True
If MsgBox("Weiter", vbYesNo + vbQuestion) = vbNo Then
frmSuche.Show
Exit Sub
End If
Set rng = Cells.FindNext(After:=ActiveCell)
If rng.Address = sAddress Then Exit Do
Loop
End If
Next wks
MsgBox prompt:="Keine neue Fundstelle!"
frmSuche.Show
ThisWorkbook.Sheets("Welcome").Activate
End Sub


Wäre nett, wenn mir jemand helfen könnte....

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suche zeilenbezogen...
23.11.2007 08:54:00
Micha
Huhu Beverly, danke für Deinen Hinweis.... Ich habs nun gelöst, hier ist der Code, der nur in einem bestimmten Bereich sucht.... Was mich noch stört sind die beiden Goto-Anweisungen, die ich benötige, da ich die Sheets nicht jedesmal aktiviere... Kann man das evtl eleganter lösen?
For Each wks In Worksheets
Set rng = wks.Range("C:C").Find(what:=Begriff, LookIn:=xlValues, SearchOrder:=xlByColumns)
If Not rng Is Nothing Then
sAddress = rng.Address
Do
Application.Goto rng, True
Sheets(wks.Name).Rows(rng.Row).Select
If MsgBox("Weiter", vbYesNo + vbQuestion) = vbNo Then
frmSuche.Show
Exit Sub
End If
Application.Goto rng, True
Set rng = Range("C:C").FindNext(After:=ActiveCell)
If rng.Address = sAddress Then Exit Do
Loop
End If
Next wks
MsgBox prompt:="Keine neue Fundstelle!"

Anzeige
AW: Suche zeilenbezogen...
23.11.2007 15:22:45
Beverly
Hi Micha,
ersetze in meinem Code .UsedRange durch .Columns("C:C") und lösche die 2 Zeilen mit Application.Goto
Bis später,
Karin

AW: Suche zeilenbezogen...
24.11.2007 21:45:34
Micha
Huhu... danke schön, hat wunderbar geklappt!!!
Gruss Micha

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige