Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1208to1212
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

Suche über meherer Registerkarten

Suche über meherer Registerkarten
Peter
hallo wertes Forum
Dank dem guten Archiv habe ich dieses Modul gefunden, welches mir schon sehr gut hilft
jetzt meine frage:
In diesem Modul muss der genaue Suchbegriff eingegeben werden. ich möchte aber nach Teilen des Inhaltes einer zelle Suchen
bsp wenn ich Peter eingebe sollte auch Peter11 gefunden werden.
das highligt wäre jetzt noch, wenn am Ende das Suchergebnis über eine Infobox ausgeben wird
bsp Rigisterkartenname und die zelle
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

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Suche über meherer Registerkarten
08.04.2011 10:07:54
Rudi
Hallo,
ich möchte aber nach Teilen des Inhaltes 

dann musst du das auch tun.
LookAt:=xlPart
Gruß
Rudi
AW: Suche über meherer Registerkarten
08.04.2011 10:08:01
Hajo_Zi
Hallo Peter,
schreibe LookAt:=xlPart, nicht lookat:=xlWhole,

AW: Suche über meherer Registerkarten
08.04.2011 10:25:07
Peter
hallo
vielen dank klappt
ich hätte da noch ein problem.
kann man die suche in den registerkarten so einschränken, das erst in jeder registerkarte ab Zeile 14 gesucht wird und dann die Ausgabe in einer Infobox zurückgeschrieben wird.
Ist viel verlangt, aber ich bekomme das nicht hin
danke vorab
Gruß peter
Anzeige
AW: Suche über meherer Registerkarten
08.04.2011 10:30:48
Hajo_Zi
Halo Peter,
ich habe es jetzt nicht getestet. das mit der Infobox ist mir nicht klar.
Option Explicit
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.Rows("14:65536").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 = Rows("14:65536").FindNext(after:=ActiveCell)
If rng.Address = sAddress Then Exit Do
Loop
End If
Next wks
MsgBox prompt:="Keine neue Fundstelle!"
End Sub
Gruß Hajo
Anzeige
das Highlight
08.04.2011 10:17:51
Rudi
Hallo,
Sub MultiSeek()
Dim wks As Worksheet
Dim rng As Range, oRng As Object
Dim sAddress As String, sFind As String
Set oRng = CreateObject("Scripting.Dictionary")
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
oRng(wks.Name & "!" & rng.Address) = 0
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
If oRng.Count > 0 Then
MsgBox sFind & " gefunden in" & vbLf & Join(oRng.keys, vbLf)
Else
MsgBox prompt:="Keine neue Fundstelle!"
End If
End Sub

Gruß
Rudi
Anzeige
ab Zeile 14
08.04.2011 10:35:03
Rudi
Hallo,
Set rng = wks.Rows("14:65536").Find( _
Gruß
Rudi
AW: das Highlight
08.04.2011 11:30:57
Peter
Hallo
klappt soweit
nur in der Infobox scheint eine Begrenzung zu sein
Es werden nur 31 Suchergebnisse angezeigt. es sind aber noch suchergebnisse in weiteren Karten vorhanden
Gruß Peter
AW: das Highlight
08.04.2011 11:42:36
Rudi
Hallo,
MsgBox kann max ca. 1024 Zeichen anzeigen.
Gruß
Rudi
AW: das Highlight
08.04.2011 11:48:01
Peter
hallo rudi
danke für Hinweis
hast du eine Idee wie ich die Suchergebnisse erweitert darstellen kann?
aber vorab vielen Dank für die Unterstützung tolles Forum
Gruß Peter
hast du eine Idee
08.04.2011 11:52:42
Rudi
Hallo,
ja. Mit einer UserForm. Dort das Ergebnis in eine Textbox schießen.
Gruß
Rudi
Anzeige
AW: das Highlight
08.04.2011 12:22:25
Peter
Hallo
hört sich gut an.
Vielleicht besteht ja auch die Möglichkeit das Suchergebnis in eine neue Mappe auszugeben.
Aber hier bräuchte ich Hilfe
Danke
Gruß Peter
Fundstellen ausgeben
08.04.2011 12:45:46
Rudi
Hallo,
in neuem Sheet:
    If oRng.Count > 0 Then
Worksheets.Add(before:=Sheets(1)).Name = "Fundstellen"
ActiveSheet.Cells(1, 1).Resize(oRng.Count) = _
WorksheetFunction.Transpose(oRng.keys)
Else
MsgBox prompt:="Keine neue Fundstelle!"
End If

Gruß
Rudi
AW: das Highlight
08.04.2011 13:03:04
Peter
hallo
fast genial
ist es auch möglich dies in eine neue mappe zuschreiben.
Hintergrund: damit beim speichern nicht das tabellenblatt gelöscht werden muss
Gruß Peter
Anzeige
AW: das Highlight
08.04.2011 13:08:41
Peter
Hallo
am besten noch mit einer Abfrage ob das Suchergebnis in eine neue ´geschrieben werden kann.
nochmals Danke große Hilfe für mich
Gruß Peter
AW: das Highlight
08.04.2011 13:21:37
Rudi
Hallo,
    If oRng.Count > 0 Then
If MsgBox("Fundstellen ausgeben?", vbYesNo, "") = vbYes Then
Workbooks.Add (1)
ActiveSheet.Cells(1, 1).Resize(oRng.Count) = _
WorksheetFunction.Transpose(oRng.keys)
End If
Else
MsgBox prompt:="Keine neue Fundstelle!"
End If

Gruß
Rudi
AW: das Highlight
11.04.2011 08:14:09
Peter
Hallo Rudi
vielen Dank für deine Hilfe
Gruß Peter
AW: das Highlight
08.04.2011 13:35:45
Peter
super
danke gruß peter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige