Vorweg, bin absoluter Laie.
Hab mir für den Job eine Excel Liste mit Ungefähr 1500 Adtressen gebastelt.
Mit dem CommandButton1 einen Suchbutton eingefügt.
Private Sub CommandButton1_Click()
Call SearchAllTables
End Sub
In dem zugehörigen Modul (heisst das so?) siehts so 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:", "Search In All Tables", 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:=True)
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("Sie haben alle Tabellenblätter durchsucht ! Soll die Suche neu gestartet _
_
_
_
werden ?", vbInformation + vbYesNo) = vbYes Then
GoTo weiter
End If
End If
End If
End Sub
Folgende Frage hab ich nun:
Wenn ich mit dem Button eine Suche starte und die erste Zelle mit einem Treffer angezeigt wird, erscheint ein Button mit der Funktion weitersuchen, ja.. nein. Aus Zeitgründen möchte ich diese Weitersuchen Funktion vollständig entfernen, so dass ich gleich wieder mit klick auf den CommandButton1 die nächste Sucheingabe machen kann.
Ich sags gleich, ich hab die Sachen alle im Netz gefunden und 1 zu 1 übernommen, da keine Ahnung von VBA.
Gruß, Thomas