wenn ich in Excel etwas Suche (Über Suchfunktion STRG+F) wird mir die Zelle, in dem sich mein Suchkriterium befindet schwarz umrandet.
Kann man das auch farblich hervorheben? Wenn ja, wie?
Danke.
Micha
Lookat:=xlWhole
Lookat:=xlPart
Im Übrigen habe ich dir bewusst eine Bsp-Datei zur Verfügung gestellt, um die Funktionalität grds. zu testen; dass das Makro bei Dir automatisch korrekt läuft ist unwahrscheinlich, da bisher niemand Deine konkreten Verhältnisse kennt (außer Dir selbst).
Sub FFind()
'Tastenbelegung Strg + Umschalten + F
Dim strWas As String, firstAddress, C As Range
With ActiveSheet.UsedRange
'reset
.Interior.Color = xlNone
strWas = InputBox("Suchen nach", "Spezialsuche")
Set C = .Find(strWas, LookIn:=xlValues)
If Not C Is Nothing Then
firstAddress = C.Address
Do
C.Select
C.Interior.Color = 5296274 'grün
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address firstAddress
End If
End With
End Sub
LG UweD
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next ' Fehler beim ersten mal
Range(KommeVon).Interior.Color = xlNone
On Error GoTo 0
KommeVon = Target.Address
End Sub
in ein normales Modul das eigendliche Suchmakro
Sub FFind()
'Tastenbelegung Strg + Umschalten + F
On Error GoTo Fehler
Dim strWas As String, firstAddress, C As Range, Weiter
strWas = InputBox("Suchen nach", "Spezialsuche", "dd")
If strWas = "" Then Exit Sub
With ActiveSheet.UsedRange
Set C = .Find(strWas, LookIn:=xlValues)
If Not C Is Nothing Then
firstAddress = C.Address
Do
C.Select
C.Interior.Color = 5296274 'grün
Weiter = MsgBox("weiter suchen", vbYesNo + vbQuestion)
If Weiter 6 Then Exit Sub '6=Ja
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address firstAddress
End If
End With
'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number 0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
End Sub
Um Suchergebnisse in Excel farbig hervorzuheben, kannst du ein VBA-Makro verwenden. Folge diesen Schritten:
ALT + F11, um den VBA-Editor zu öffnen.Einfügen und wähle Modul.Sub FFind()
Dim strWas As String, firstAddress, C As Range
With ActiveSheet.UsedRange
' Ursprüngliche Zellfarben zurücksetzen
.Interior.Color = xlNone
strWas = InputBox("Suchen nach", "Spezialsuche")
Set C = .Find(strWas, LookIn:=xlValues)
If Not C Is Nothing Then
firstAddress = C.Address
Do
C.Interior.Color = RGB(255, 255, 0) ' Gelb hervorheben
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> firstAddress
End If
End With
End Sub
ALT + F8, um das Makro auszuführen. Gib den Suchbegriff ein und klicke auf OK.Fehler: "Suchbegriff nicht gefunden": Stelle sicher, dass der Suchbegriff exakt so in den Zellen steht, wie du ihn eingibst. Überlege, die Option Lookat:=xlPart im VBA-Code zu verwenden, um auch Teilsuchen zu ermöglichen.
Problem mit der Ursprungsfarbe: Wenn du die Ursprungsfarbe der Zellen nicht zurücksetzen möchtest, entferne die Zeile .Interior.Color = xlNone aus dem Code.
Excel hängt sich auf: Achte darauf, dass dein Suchbereich nicht zu groß ist. Verkleinere den Bereich, wenn nötig.
Falls du kein VBA verwenden möchtest, kannst du auch die bedingte Formatierung nutzen:
Suchfeld einfügen: Füge ein Suchfeld in eine Zelle ein (z.B. A1).
Bedingte Formatierung öffnen: Markiere den Bereich, den du durchsuchen möchtest, und gehe zu Start > Bedingte Formatierung > Neue Regel.
Formel zur Erkennung: Wähle Formel zur Ermittlung der zu formatierenden Zellen verwenden und gib folgende Formel ein:
=SUCHEN($A$1;A1)>0
Format festlegen: Wähle die gewünschte Formatierung (z.B. Hintergrundfarbe) und klicke auf OK.
Suchergebnisse farbig markieren: Verwende das oben genannte VBA-Makro, um alle Zellen, die "Test" enthalten, gelb zu markieren.
Bedingte Formatierung: Über den bedingten Formatierungsansatz kannst du alle Zellen, die den Suchbegriff enthalten, in einer anderen Farbe hervorheben, ohne VBA zu verwenden.
C.Interior.Color = RGB(255, 0, 0) ' Rot
1. Wie kann ich das Suchfeld einfügen?
Gehe zu Entwicklertools > Einfügen und wähle das Textfeld aus. Platziere es in deinem Arbeitsblatt.
2. Können auch mehrere Suchbegriffe eingegeben werden?
Ja, du kannst die Suchlogik im VBA-Code anpassen, um mehrere Begriffe zu berücksichtigen. Nutze dazu eine Schleife, um durch eine Liste von Suchbegriffen zu iterieren.
3. Wie kann ich die Suchmarkierung ändern?
Ändere die RGB-Werte im VBA-Code, um die Farbe der Zellen zu ändern, die du farblich markieren möchtest.