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

Suchmaschine

Suchmaschine
08.07.2004 11:15:24
Mark
Guten Morgen,
ich habe in diesem Forum eine sehr gute Suchmaschine gefunden:

Sub suchen()
Dim SB As Variant
SB = InputBox("Wonach suchen?")
On Error GoTo ende
Cells.Find(What:=SB & "*", lookAt:=xlWhole).Activate
Exit Sub
ende:
MsgBox SB & " nicht gefunden!         ", 64, "teile mit..."
End Sub

Ich möchte aber, daß sie in allen blättern nach dem eingegebenen Begriff sucht. Die Datei (in der man suchen mußt) besteht aus einer Anzahl von Blättern, die immer verschieden ist und die immer verschiedenen Namen haben.
Wie kann man das Problem lösen?
Vielen Dank
Mark

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

Betreff
Datum
Anwender
Anzeige
AW: Suchmaschine
08.07.2004 11:30:04
Uwe
Hallo Mark,
so sollte es gehen:
Option Explicit
Option Compare Text 'wenn Groß-Kleinschreibung unberücksichtigt bleiben soll

Sub SucheZellen()
Dim S As String
Dim Z As Range
Dim WS As Worksheet
S = InputBox("Wonach soll gesucht werden?")
If S = "" Then Exit Sub
'S = "*" & S & "*"  'es werden auch Zellen angezeigt, die noch mehr als den Suchstring enthalten
For Each WS In ActiveWorkbook.Worksheets
For Each Z In WS.UsedRange.Cells
If Z.Text Like S Then
WS.Activate
Z.Select
If MsgBox("Weitersuchen nach """ & S & """?", vbYesNo + vbQuestion) = vbNo Then Exit Sub
End If
Next Z
Next WS
End Sub

Gruß Uwe
Anzeige
AW: Suchmaschine
Worti
Hallo Mark,
mein Vorschlag:


'Suche über alle Tabellenblätter eines Excel-Sheets
Sub Globale_Suche()
    
    Dim As Range
    Dim Suchwert As Variant
    Dim ws As Worksheet
    Dim ersterFundort As String
    
    Suchwert = InputBox("Wonach soll gesucht werden")
    If Suchwert = "" Then
       Exit Sub
    End If
    For Each ws In ActiveWorkbook.Worksheets
        Set c = ws.Cells.Find(what:=Suchwert, lookat:=xlValue)
            If Not Is Nothing Then
               Do Until Is Nothing
                 If c.Address = ersterFundort Then Exit Do
                 If ersterFundort = "" Then ersterFundort = c.Address
                 MsgBox "Wert gefunden an der Stelle " & ws.Name & "!" & c.Address
                 Set c = ws.Cells.FindNext(c)
               Loop
            End If
        Set c = Nothing
        ersterFundort = ""
    Next ws
End Sub


lookat:=xlValue kannst du natürlich durch lookat:=xlWhole ersetzen
Worti
Anzeige
AW: Suchmaschine
08.07.2004 11:41:36
ANdreas
Hallo Mark,
nutze doch die integrierte Suche (STRG + F). Da kannst Du auch in der gesamten Arbeitsmappe suchen lassen...
Gruß
Andreas
AW: Suchmaschine
Mark
Danke an alle.
Einfach super.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige