Ich dachte dabei an sowas:
'Suche nach Teilstring (2)
Dim EQ2 as string
Dim BEM2 as String
Dim rFinde2 As Range, rSuche2 As Range ' das ist mal eine einfache Variablendeklaration
Dim strFirst2 As String
Dim lngReihe2 As Long, lngLetzte2 As Long
Dim I2 As Integer
With Sheets("Wichtige Meldungen Prio 1")
lngLetzte2 = IIf(IsEmpty(.Cells(Rows.Count, 2)), .Cells(Rows.Count, 2).End(xlUp).Row, Rows. _
_
Count) ' letzte volle Zeile in Sheet "Suchmeldungen" ermitteln, da stehen die Suchwerte in den Spalten von Spalte B
End With
Set rFinde2 = Sheets(Ort2).Range("E:E") ' wo soll gesucht werden, naja, in Spalte E Sheet Ra2, da stehen die zu vergleichenden Werte
With Sheets("Wichtige Meldungen Prio 1")
For I2 = 1 To lngLetzte2 ' Suchschleife, da ja mehr als nur ein Suchwert
Set rSuche2 = rFinde2.Find(what:=.Cells(I2, 2), LookAt:=xlWhole) ' .cells.. ist der jeweilige Suchwert
If Not rSuche2 Is Nothing Then ' wenn, was gefunden wurde
strFirst2 = rSuche2.Address ' merke dir die erste gefundene Zelle (weil können ja mehr sein)
Do ' weiter Schleife, um die anderen gleichen zu finden
lngReihe2 = rSuche2.Row ' wir merken uns die Zeile wo in Sheet1 der Suchstring steht
Set EQ2 = Sheets("Wichtige Meldungen Prio 1").Cells("C" & I2).copy
Worksheets(Ort2).Range("H" & lngReihe2).PasteSpecial Paste:=xlPasteValues
Set BEM2 = Sheets("Wichtige Meldungen Prio 1").Cells("G" & I2).copy
Worksheets(Ort2).Range("I" & lngReihe2).PasteSpecial Paste:=xlPasteValues
Sheets(Ort2).Range("A" & lngReihe2).EntireRow.Interior.ColorIndex = 40 ' wir färben diese Zeile komplett Rosa ein
Set rSuche2 = rFinde2.FindNext(rSuche2) ' wir suchen den nächsten, gleichen Suchstring
Loop While Not rSuche2 Is Nothing And rSuche2.Address <> strFirst2 'das tun wir solange, bis wir wieder bei der ersten Adresse sind und somit alle gefunden wurden.
End If
Next I2
End With
Den Code den ich meine habe ich in die Lücke geschrieben.
4 Zeilen.
Im nachinein brauche ich die Variablen EQ2 und BEM2 garnicht.
Aber irgendetwas scheint falsch zu sein.
Bitte um Hilfe
Danke
Bernd
|