So.. dass ich mich nicht damit auseinandergesetzt hätte, kann man nicht sagen. Ich habe jedoch zwei Codes entworfen, die ich irgendwie nicht vereinen kann. Zum einen wäre das folgender mit dem ich auch Wortteile usw. suchen kann und, wenn ich auf ok klicke, jeweils das nächste Ergebnis angezeigt wird. Allerings bekomme ich hier die Markierung des Ergebnisses in der Mappe nicht rein und mir wird im Suchfeld die Zelle des Ergebnisses angezeigt. Des Weiteren kann ich hier nicht die ganze Arbeitsmappe, sondern nur der BEreich (hier: Spalten A bis EA) durchsuchen.
Sub Schaltfläche1_Klicken()
Dim rngFind As Range
Dim strTitel As String
Dim strFirst As String
'suchdialog kreieren
strTitel = InputBox("Suche nach:", "Suchbegriff eingeben", , 5, 5)
'zu durchsuchenden spaltenumfang angeben
Set rngFind = Columns("A:EA").Find(strTitel, LookIn:=xlValues)
'zur stelle springen oder message ausgeben
If Not rngFind Is Nothing Then
strFirst = rngFind.Address
Do
rngFind.Select
If MsgBox(rngFind.Address, vbOKCancel) = vbOK Then
Set rngFind = Columns("A:EA").FindNext(rngFind)
Else
Exit Sub
End If
Loop While Not rngFind Is Nothing And rngFind.Address <> strFirst
Else
MsgBox "Es wurde nichts gefunden"
End If
End Sub
Der andere Code wäre dieser. Hier erfolgt die Markierung der jeweiligen Zellen der Treffer in grün.
Sub suchen_alle_Tabellen_UsedRange()
Dim suche As String
Dim z As Long
Dim Zelle As Range
Dim Blatt As Worksheet
suche = InputBox("Suchen nach", , "Suchbegriff eingeben")
z = 0
If suche = "" Then Exit Sub
For Each Blatt In ActiveWorkbook.Worksheets
For Each Zelle In Blatt.UsedRange
If Zelle = suche Then
z = z + 1
Zelle.Interior.ColorIndex = 43
End If
Next Zelle
Next Blatt
MsgBox "Die eingegebene Suche lieferte keinen Treffer. Bitte verändere den Suchbegriff."
End Sub
Ich weiß nicht wie ich die Codes entsprechend so kombinieren kann, dass ich mein gewünschtes Ergebnis hinbekomme.
Die Trefferliste in der msgbox ausgeben, bekomme ich ebenso wenig hin (vbLf)
|