Habe mir im Internet dieses Makro gesucht, um die Arbeitsmappe nach Namen zu durchsuchen. Das geht auch aber wie es scheint nur bis zum ersten Namen. Es wäre schon wenn es immer gehen würde und für alles. Da meine Orginalmappe 345 Seiten hat. Und ich oft gezielt nach Straßen oder Namen suchen muss.Wenn ich nach Hans , ils oder werner suche, dann findet er den Namen das erste mal und dann kommt eine Fehlermeldung. Getr. Donat funktioniert aber komischer weise die Suche.
Es wäre sehr toll wenn Ihr mir helfen könntet.
Option Explicit
Global SSearch As String
Public Sub SearchAllTables()
Dim ws As Worksheet
Dim c
Dim firstAddress As String
Dim secAddress
Dim GFound As Boolean
Dim GWeiter As Boolean
GWeiter = False
GFound = False
anf:
SSearch = InputBox("Suchen nach:", "Stichwort-Suche / Suchfunktion", SSearch)
If SSearch = "" Then
End
End If
weiter:
For Each ws In Worksheets
'ws.Select
With ws.Cells
Set c = .Find(SSearch, LookIn:=xlValues, MatchCase:=False)
If Not c Is Nothing Then
GFound = True
ws.Select
c.Select
firstAddress = c.Address
If MsgBox("Weitersuchen?", vbQuestion + vbYesNo) = vbYes Then
Do
Set c = .FindNext(c)
secAddress = c.Address
If c.Address = firstAddress Then
Exit Do
End If
c.Select
If MsgBox("Weitersuchen?", vbQuestion + vbYesNo) = vbNo Then
GWeiter = True
GoTo ende
End If
Loop While Not c Is Nothing And secAddress firstAddress And c.Address firstAddress
Else
GWeiter = True
GoTo ende
End If
End If
End With
Next ws
ende:
If GFound = False Then
If MsgBox("Suchwert nicht gefunden! Neue Suche?", vbInformation + vbYesNo) = vbYes Then
GoTo anf:
End If
Else
If GWeiter = False Then
If MsgBox("Es wurden alle in Frage kommenden Namen angezeigt! Soll die Suche neu gestartet _
werden?", vbInformation + vbYesNo) = vbYes Then
GoTo weiter
End If
End If
End If
End Sub
LG Robert
https://www.herber.de/bbs/user/139951.xlsm