AW: Makro: Suche nach Wert, dann markiere Zeile farbig
04.02.2008 14:14:00
Chris
Servus lufrio1,
dann erklär ich's dir:
Private Sub CommandButton1_Click()
Dim rFinde As Range, rSuche As Range ' das ist mal eine einfache Variablendeklaration
Dim strFirst As String
Dim lngReihe As Long, lngLetzte As Long
Dim I As Integer
With Sheets("Tabelle2")
lngLetzte = IIf(IsEmpty(.Cells(Rows.Count, 1)), .Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
_
Count) ' letzte volle Zeile in Sheet2 ermitteln, da stehen die Suchstrings in den Zeilen von _
Spalte A
End With
Set rFinde = Sheets("Tabelle1").Range("A:A") ' wo soll gesucht werden, naja, in Spalte A Sheet1, _
da stehen die zu vergleichenden Werte
With Sheets("Tabelle2")
For I = 2 To lngLetzte ' Suchschleife, da ja mehr als nur ein Suchwert
Set rSuche = rFinde.Find(what:=.Cells(I, 1), LookAt:=xlWhole) ' .cells.. ist der jeweilige _
Suchwert
If Not rSuche Is Nothing Then ' wenn, was gefunden wurde
strFirst = rSuche.Address ' merke dir die erste gefundene Zelle (weil können ja mehr _
sein)
Do ' weiter Schleife, um die anderen gleichen zu finden
lngReihe = rSuche.Row ' wir merken uns die Zeile wo in Sheet1 der Suchstring steht
Sheets("Tabelle1").Range("A" & lngReihe).EntireRow.Interior.ColorIndex = 3 ' wir fä _
rben diese Zeile komplett rot ein
Set rSuche = rFinde.FindNext(rSuche) ' wir suchen den nächsten, gleichen _
Suchstring
Loop While Not rSuche Is Nothing And rSuche.Address strFirst 'das tun wir solange, _
bis wir wieder bei der ersten Adresse sind und somit alle gefunden wurden.
End If
Next I
End With
End Sub
Das war's auch schon.
Gruß
Chris