Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1276to1280
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

Suchen in alle offenen Mappen

Suchen in alle offenen Mappen
Thomas
Hallo,
folgenden Code zum Suchen in alle offenen Mappen habe ich im Archiv gefunden.
Sub Finden()
Dim rng As Range
Dim vNumber As Variant
Dim iCounter As Integer
Dim sFirst As String
Dim bln As Boolean
Dim WBDatei As Workbook
vNumber = InputBox( _
prompt:="Bitte Begriff eingeben:", _
Default:="Such Such")
If vNumber  "" Then
For Each WBDatei In Workbooks
With WBDatei
For iCounter = 1 To .Worksheets.Count
Set rng = .Worksheets(iCounter).Cells.Find(vNumber)
If rng Is Nothing = False Then
sFirst = rng.Address
Do
Set rng = .Worksheets(iCounter).Cells.FindNext(rng)
MsgBox "Gefunden in Datei " & WBDatei.Name & "  Blatt " & rng. _
Parent.Name _
& " - Zelle " & rng.Address(False, False)
Loop While Not rng Is Nothing And rng.Address  sFirst
bln = True
End If
Next iCounter
End With
Next WBDatei
If bln = False Then
Beep
MsgBox prompt:="Begriff nicht gefunden!"
End
End If
End If
End Sub
Jetzt möchte ich nicht die Fundstelle in der Messagebox angezeigt bekommen, sondern die Zelle mit dem gesuchten Wert soll ausgewählt werden. Wie muß das Makro geändert werden?
Gruß Thomas

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Suchen in alle offenen Mappen
16.09.2012 19:17:53
Josef

Hallo Thomas,
Sub multiSearch()
  Dim objWB As Workbook, objSh As Worksheet, rng As Range
  Dim vntSearch As Variant
  Dim strFirst As String
  
  vntSearch = InputBox("Bitte Sichbegriff eingeben" & vbLf & "Wildcards (*, ?, #) möglich!", "Suchen")
  
  If Len(vntSearch) Then
    For Each objWB In Application.Workbooks
      For Each objSh In objWB.Worksheets
        Set rng = Nothing
        strFirst = ""
        Set rng = objSh.UsedRange.Find(What:=vntSearch, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False, After:=objSh.UsedRange.Cells(1, 1))
        If Not rng Is Nothing Then
          strFirst = rng.Address
          Do
            Application.Goto rng
            If MsgBox("Weitersuchen?", vbOKOnly + vbYesNo, "Suchen") = vbNo Then GoTo ErrExit
            Set rng = objSh.UsedRange.FindNext(rng)
          Loop While Not rng Is Nothing And strFirst <> rng.Address
        End If
      Next
    Next
  End If
  
  ErrExit:
  Set rng = Nothing
  Set objSh = Nothing
  Set objWB = Nothing
End Sub



« Gruß Sepp »

Anzeige
AW: Suchen in alle offenen Mappen
16.09.2012 19:37:27
Thomas
Hallo Sepp,
besten Dank für Deine schnelle Antwort. Funktioniert genauso wie ich es benötige.
Gruß Thomas

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige