Suchfunktion VBA
06.07.2015 16:12:14
Alwin
ich habe in eine Excel ein Makro eingefügt, das ich im Internet gefunden habe. Mit diesem Makro kann man nach Suchbegriffen in der gesamten Datei suchen. Es funktioniert auch (fast) einwandfrei. Die Suche beginnt immer auf dem ersten Tabellenblatt - auch wenn ich gerade auf dem 5. Tabellenblatt bin und dort auch das erste Ergebnis ist, wonach ich suche. Kann mir hierbei jemand weiterhelfen?
Das Makro sieht wie folgt aus:
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 Suchbegriffe angezeigt! Soll die Suche neu _
gestartet werden?", vbInformation + vbYesNo) = vbYes Then
GoTo weiter
End If
End If
End If
End Sub
Vielen Dank im VorausAlwin