Der Code für ein allgemeines Modul
Public Sub Suche()
'Code für ein allgemeines Modul
'*********************************
'Autor: Jürgen Hennekes
'*********************************
Static slngRow As Long
Static sstrDefault As String
Dim strInbox As String
Dim Zelle As Range
Dim lngLast As Long
Dim Wahl As String
Dim Msg As String
lngLast = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
strInbox = InputBox("Bitte den Suchbegriff eingeben", "SUCHE", sstrDefault)
If strInbox = "" Then
slngRow = 0
sstrDefault = ""
Exit Sub
Else
sstrDefault = strInbox
End If
If slngRow = 0 Then
slngRow = 1
End If
Weiter:
With ActiveSheet.Range("A" & slngRow & ":A" & lngLast)
Set Zelle = .Find(strInbox, LookIn:=xlValues, lookat:=xlWhole)
If Zelle Is Nothing Then
MsgBox "Der Suchbegriff " & strInbox & " wurde nicht gefunden.", 48
slngRow = 0
sstrDefault = ""
Exit Sub
End If
Msg = _
"Die Suche nach [ " & strInbox & " ] ergab einen Treffer in Zeile " & Zelle.Row & vbCr & _
"Du hast nun folgende Möglichkeiten:" & vbCr & vbCr & _
"[JA] der Datensatz kann bearbeitet werden." & vbCr & _
"[Nein] die Suche wird fortgeführt" & vbCr & _
"[Abbrechen] beendet die Suche."
If Zelle.Row > slngRow Then
slngRow = Zelle.Row
Else
MsgBox "Keine weiteren Treffer." & vbCr & "Die Suche ist abgeschlossen", 64
slngRow = 0
sstrDefault = ""
Exit Sub
End If
End With
Wahl = MsgBox(Msg, vbYesNoCancel)
If Wahl = vbNo Then
GoTo Weiter
ElseIf Wahl = vbCancel Then
slngRow = 0
sstrDefault = ""
Exit Sub
Else
Zelle.Select
Exit Sub
End If
End Sub