In einer grossen Excel-Tabelle mit unzähligen Tabellenblättern sind verschiedene Links, Begriffe etc. abgelegt.
Mittels untenstehendem Code kann der User die ganze Excel-Datenbank nach Begriffen durchsuchen.
(der Code stammt übrigens auch von einem netten Forumanen hier !)
Sub suche()
Dim wks As Worksheet
Dim rng As Range
Dim sAddress As String, sFind As String
sFind = InputBox(vbCr & vbCr & "Bitte Suchbegriff eingeben:", _
"Eingabe Suchbegriff") & "*" ' plus Sterchen
If sFind = "" Then Exit Sub
For Each wks In Worksheets
Set rng = wks.Cells.Find(what:=sFind, _
lookat:=xlWhole, LookIn:=xlValues)
If Not rng Is Nothing Then
sAddress = rng.Address
Do
Application.Goto rng, True
Application.Goto Reference:=Range("A1"), Scroll:=True
Range(rng.Address).Select
If MsgBox("Soll die Suche fortgesetzt werden ?", _
vbYesNo + vbQuestion, "Frage an " & _
Application.UserName & ":") = vbNo Then Exit Sub
Set rng = Cells.FindNext(after:=ActiveCell)
If rng.Address = sAddress Then Exit Do
Loop
End If
Next wks
MsgBox "Es gibt keine neue Fundstelle !", vbYes + vbInformation, _
"Hinweis an " & Application.UserName & ":"
End Sub
Nun möchte ich diesen Code so anpassen, dass folgendes geschieht:
- es soll eine User-Form angezeigt werden, auf der der User seinen Such-Ort etwas verfeinern kann.
D.h. er soll zum Beispiel per Option-Button angeben können:
- Ich suche eine Dokumentation
- Ich suche einen Tabellennamen
- Ich suche eine Abkürzung
je nachdem was der User in der User-Form ankreuzt, so soll die Suche dann nur in diesem Bereich erfolgen.
Natürlich müsste ich wohl vorgängig meine Tabellenblätter der Arbeitsmappe irgendwie mittels diesen Options klassifizieren oder ?
Wer hat mir Lösungsansätze ? oder gar schon Beispielscodes ?
Im voraus herzlichen Dank für Eure Hilfe !!!