Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1632to1636
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
Inhaltsverzeichnis

VBA Zeilen automatisch farblich Markieren wenn

VBA Zeilen automatisch farblich Markieren wenn
10.07.2018 10:12:11
Jan
Hallo,
ich möchte in einer Tabelle zeilen automatisch markieren, wenn in zelle A ein bestimmtest wort steht, dass bekomme ich hier mit hin, nur leider immer nur für den ersten eintrag. Es soll aber weiter gesucht werden bis zum schluss der Tabelle.
Daher wollte ich Loop mit einsetzten, nur irgend etwas mache ich falsch:

Sub test()
Dim FindWort As String
Dim w As Integer
FindWort = "Zettel*"
With Worksheets("Blatt1").Range("A:A")
w = .Find(what:=FindWort, LookIn:=xlValues).Row
If w  0 Then
Rows(w).Interior.ColorIndex = 4
End If
End With
End Sub

So habe ich es probiert geht aber nicht:
Sub test()
Dim FindWort As String
Dim w As Integer
FindWort = "Zettel*"
With Worksheets("Blatt1").Range("A:A")
Do
w = .Find(what:=FindWort, LookIn:=xlValues).Row
If w  0 Then
Rows(w).Interior.ColorIndex = 4
Exit Do
End If
Loop
End With
End Sub

Vielen Dank

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Zeilen automatisch farblich Markieren wenn
10.07.2018 10:16:37
Hajo_Zi
warum nicht bedingte Formatierung?

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: VBA Zeilen automatisch farblich Markieren wenn
10.07.2018 10:28:23
Daniel
Hi
die Schleife geht schon, aber du musst da ein paar dinge beachten:
1. musst du in der Schleife bei .Find angeben, dass die Suche nach der zuletzt gefundenen Zelle begonnen werden soll, denn sonst findet dein .Find immer den gleichen Wert.
2. musst du dir merkten, in welcher Zeile der Wert das erste mal auftritt, damit du die Schleife beenden kannst. Wenn dein .Find nämlich einmal durch ist, sucht es wieder von vorne:
Sub test()
Dim FindWort As String
Dim w As Long 'besser Long als Integer falls die Datei mal länger ist
dim Zelle as Range
FindWort = "Zettel*"
With Worksheets("Blatt1").Range("A:A")
set Zelle = .Find(what:=FindWort, LookIn:=xlValues)
if not Zelle is Nothing then
w = Zelle.row '--- erste Fundstelle merken
Zelle.EntireRow.Interior.Colorindex = 4
Do
Set Zelle .Find(what:=FindWort, after:=Zelle LookIn:=xlValues)
if w = Zelle.Row then Exit do
Zelle.EntireRow.Interior.ColorIndex = 4
Loop
End With
end if
End Sub
Gruß Daniel
Anzeige
AW: VBA Zeilen automatisch farblich Markieren wenn
10.07.2018 11:07:04
Jan
Erst mal danke Daniel.
Nur das ich es richtig verstehe. Ich möchte, dass ich per Button die Aktion starte und diese dann automatisch beendet wird, wenn Sie durch ist.
mit deinen Code kommt ein Syntaxfehler in dieser Zeile:
Set Zelle .Find(what:=FindWort, after:=Zelle LookIn:=xlValues)
hätte ich noch was Ändern müssen?
Danke
Danke
AW: oder mit find next
10.07.2018 11:13:15
hary
Moin
Das hier in den Code des Button.
Dim rngFind As Range
Dim firstAddress As String
With Worksheets("Blatt1").Range("A:A")
Set rngFind = .Find("Zettel*", LookIn:=xlValues, lookat:=xlWhole)
If Not rngFind Is Nothing Then
firstAddress = rngFind.Address
Do
Rows(rngFind.Row).Interior.ColorIndex = 4
Set rngFind = .FindNext(rngFind)
Loop While rngFind.Address  firstAddress
End If
End With

gruss hary
Anzeige
AW: oder mit find next
10.07.2018 11:50:47
Jan
Super vielen Dank. Es geht
Perfekt
AW: VBA Zeilen automatisch farblich Markieren wenn
10.07.2018 11:14:11
Daniel

Set Zelle = .Find(what:=...)

Gruß Daniel
AW: VBA Zeilen automatisch farblich Markieren wenn
10.07.2018 11:51:04
Jan
Super Danke.

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige