Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1828to1832
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Makro Suche mit Zelle farblich markieren
29.04.2021 18:27:03
Dirk
Hallo zusammen,
ich habe folgendes Makro zur Stichwortsuche über mehrere Tabellenblätter. Folgende Frage dazu: Was muss ich ergänzen, damit die Zelle in der der gesuchte Begriff gefunden wird, farblich markiert wird? Welche Farbe spielt aktuell keine Rolle, das kann man ja sicher immer noch ändern. Danke im Voraus für Eure Hilfe.
Hier das Makro:

Sub MultiSuche()
Dim Sh As Worksheet
Dim GZelle As Range
Dim FStelle$
Dim SBegriff
SBegriff = InputBox("Bitte Suchbegriff eingeben:")
For Each Sh In Worksheets
Sh.Activate
Set GZelle = Sh.Cells.Find(SBegriff)
If Not GZelle Is Nothing Then
FStelle = GZelle.Address
Do
GZelle.Activate
If MsgBox("Weiter", vbYesNo + vbQuestion) = vbNo Then Exit Sub
Set GZelle = Cells.FindNext(after:=ActiveCell)
If GZelle.Address = FStelle Then Exit Do
Loop
End If
Next Sh
End Sub

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Suche mit Zelle farblich markieren
29.04.2021 18:34:37
Daniel
Hi

GZelle.Interior.Color = RGB(255, 0, 0)
Gruß Daniel
AW: Makro Suche mit Zelle farblich markieren
29.04.2021 18:50:35
Dirk
Danke, Daniel. An welcher Stelle setze ich das genau ein im Makro?
AW: Makro Suche mit Zelle farblich markieren
29.04.2021 18:54:47
Daniel
an der Stelle, an welcher du möchst, dass die Zelle gefärbt ist.
Du solltest schon wissen, was dein Makro macht.
Gruß Daniel
AW: Makro Suche mit Zelle farblich markieren
29.04.2021 21:15:38
GerdL
Hallo Dirk,
was soll bei mehreren Treffern jeweils gefärbt bleiben?
Gruß Gerd
AW: Makro Suche mit Zelle farblich markieren
30.04.2021 09:22:12
Dirk
Hallo Gerd, danke für Deine Rückmeldung. Das Makro durchsucht die gesamte Arbeitsmappe und färbt die Zelle in der das Wort gefunden wurde jetzt rot. Soweit alles in Ordnung. Vielleicht kannst Du mir noch helfen, das die farbliche Markierung auch aufgehoben wird, nachdem die Suche erfolgreich war und abgebrochen wird bzw. eine neue Suche beginnt. Hier das aktuelle Makro:

Sub MultiSuche()
Dim Sh As Worksheet
Dim GZelle As Range
Dim FStelle$
Dim SBegriff
SBegriff = InputBox("Bitte Suchbegriff eingeben:")
For Each Sh In Worksheets
Sh.Activate
Set GZelle = Sh.Cells.Find(SBegriff)
If Not GZelle Is Nothing Then
FStelle = GZelle.Address
Do
GZelle.Activate
GZelle.Interior.Color = RGB(255, 0, 0)
If MsgBox("Weiter", vbYesNo + vbQuestion) = vbNo Then Exit Sub
Set GZelle = Cells.FindNext(after:=ActiveCell)
If GZelle.Address = FStelle Then Exit Do
Loop
End If
Next Sh
End Sub

Anzeige
AW: Makro Suche mit Zelle farblich markieren
30.04.2021 09:31:10
Daniel
Hi
wenn in dem Bereich keine weiteren Färbungen vorliegen, kannst du die Hintergrundfarbe in allen Zellen mit folgendem Befehl löschen:

Cells.Interior.ColorIndex = xlnone
Gruß Daniel
AW: Makro Suche mit Zelle farblich markieren
30.04.2021 10:28:07
Dirk
Hallo Daniel, leider sind auf den Tabellenblättern andere Bereiche farblich unterlegt. Die wären dann alle weg mit dieser Anweisung. Ich brauche nur eine Anweisung im Makro, das sobald ich die Suche weiterlaufen lasse oder abbreche, die rot markierte Zelle wieder - in meinem Fall - weiß RGB(255, 255, 255) wird.
AW: Makro Suche mit Zelle farblich markieren
30.04.2021 12:05:30
Daniel
das solltest du dir jetzt aber selbst zusammen bauen können.
du weißt jetzt, wie man einer einzelnen Zelle die Farbe rot gibt und du weißt, wie man alle Zellen wieder auf die Standard-Hintergrundfarbe zurücksetzt.
jetzt sollte es für dich kein Problem sein, die Zelle die du vor der Messagebox rot gefärbt hast, nach der Messagebox wieder zu entfärben.
Gruß Daniel
Anzeige
AW: Makro Suche mit Zelle farblich markieren
30.04.2021 10:24:22
Dirk
Hallo Gerd, danke für Deine Rückmeldung. Das Makro durchsucht die gesamte Arbeitsmappe und färbt die Zelle in der das Wort gefunden wurde jetzt rot. Soweit alles in Ordnung. Vielleicht kannst Du mir noch helfen, das die farbliche Markierung auch aufgehoben wird, nachdem die Suche erfolgreich war und abgebrochen wird bzw. eine neue Suche beginnt. Hier das aktuelle Makro:

Sub MultiSuche()
Dim Sh As Worksheet
Dim GZelle As Range
Dim FStelle$
Dim SBegriff
SBegriff = InputBox("Bitte Suchbegriff eingeben:")
For Each Sh In Worksheets
Sh.Activate
Set GZelle = Sh.Cells.Find(SBegriff)
If Not GZelle Is Nothing Then
FStelle = GZelle.Address
Do
GZelle.Activate
GZelle.Interior.Color = RGB(255, 0, 0)
If MsgBox("Weiter", vbYesNo + vbQuestion) = vbNo Then Exit Sub
Set GZelle = Cells.FindNext(after:=ActiveCell)
If GZelle.Address = FStelle Then Exit Do
Loop
End If
Next Sh
End Sub

Anzeige
AW: Multiple Suche
30.04.2021 13:35:08
GerdL
Hallo Dirk!

Sub MultiSuche()
Dim Sh As Worksheet
Dim GZelle As Range, AFarbe As Long
Dim FStelle$
Dim SBegriff
SBegriff = InputBox("Bitte Suchbegriff eingeben:")
For Each Sh In Worksheets
Sh.Activate
Set GZelle = Sh.Cells.Find(SBegriff)
If Not GZelle Is Nothing Then
FStelle = GZelle.Address
Do
If GZelle.Interior.ColorIndex  xlNone Then AFarbe = GZelle.Interior.Color
GZelle.Activate
GZelle.Interior.Color = RGB(255, 0, 0)
If MsgBox("Weiter", vbYesNo + vbQuestion) = vbNo Then
If AFarbe = 0 Then GZelle.Interior.ColorIndex = xlNone Else GZelle.Interior.Color = AFarbe
Exit Sub
End If
If AFarbe = 0 Then GZelle.Interior.ColorIndex = xlNone Else GZelle.Interior.Color = AFarbe
Set GZelle = Cells.FindNext(after:=ActiveCell)
If GZelle.Address = FStelle Then Exit Do
Loop
End If
Next Sh
End Sub
Gruß Gerd
Anzeige
AW: Multiple Suche
01.05.2021 14:20:11
Dirk
Hallo Gerd, funktioniert einwandfrei. Ich danke Dir ganz herzlich. Gruß Dirk
AW: Multiple Suche
01.05.2021 16:25:20
GerdL
Moin Dirk,
denn schau noch, welche Argumente du bei der Find-Methode einstellen möchtest.
Gruß Gerd
AW: Multiple Suche
01.05.2021 18:55:10
Dirk
Hallo Gerd,
mein einziger Wunsch wäre noch, ob man in der Msg Box optional schon ein Tabellenblatt angeben könnte, auf dem ausschließlich gesucht werden soll. Hintergrund ist, das ich mehrere Tabellenblätter habe, jeweils eins für DE, CH, AT und drei weitere mit Untergruppen für DE. Diese Auswahl würde ich aber nur optional und nicht als eine mandatory Eingabe vorsehen wollen. Wenn die Eingabe nicht gefüllt wird, wird auf allen Tabellenblättern gesucht, sonst halt nur auf dem angegebenen. Hast Du dazu noch eine Idee? Konnte ich mich verständlich ausdrücken? Noch andere Verbesserungsvorschläge? Ich bin für alles offen... Danke :-)
Anzeige

231 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige