.Find Methode
28.09.2018 17:33:54
Hendrik
ich komme mit folgendem .Find Code nicht weiter.
Was tut der Code nicht:
Ich bekomme jedes Mal nur den ersten Treffer der Suche. Der Code sucht dann nicht mehr weiter und gibt mir dann so oft wie das "Wort" vorkommt immer den ersten Suchtreffer zurück.
Wie kann ich es umschreiben, dass er mir jede entsprechende Zeile mit Inhalt des "Wort" zurück gibt ?
Vielen Dank vorab!!!!
VG
Hendrik
Sub finden()
Worksheets("Tabelle1").Range("A1:Z1000") = ""
Application.Calculation = xlCalculationAutomatic
'Modulträger, ....usw
Worksheets("Table 1").Select
Call zählen
Dim i As Integer
Dim Max As Long
Dim zeile As Long
Dim Wort As String
Dim w As Integer
Dim Zusatzlauf As Integer
w = 0
Max = Worksheets("Table 1").Range("AR1")
Zusatzlauf = Worksheets("Tabelle1").Cells(1048576, 41).End(xlUp).Row
For i = 1 To Max + Zusatzlauf
Dim obGef As Object
Wort = Worksheets("Tabelle1").Range("AO" & 2 + w)
With Worksheets("Table 1").Columns(1) 'anpassen
Set obGef = .Find(Wort, LookIn:=xlValues, LookAt:=xlPart)
If Not obGef Is Nothing Then
Worksheets("Tabelle1").Range("AP2").Value = obGef.Row
End If
End With
zeile = Worksheets("Tabelle1").Range("AP2").Value
If Not obGef Is Nothing Then Worksheets("Tabelle1").Cells(1 + i, 1).Resize(1, 24).Value = _
Worksheets("Table 1").Cells(zeile, 1).Resize(1, 24).Value
If obGef Is Nothing Then w = w + 1 Else: Worksheets("Tabelle1").Range("A" & i) = Worksheets(" _
Table 1").Cells(zeile, 1).Resize(1, 24).Value
Next
Call Modul1.formatieren
End Sub
Sub zählen()
Dim Ende As Long
Dim Name As String
c = 0
Ende = Worksheets("Tabelle1").Cells(1048576, 41).End(xlUp).Row - 1
For l = 1 To Ende
Name = Worksheets("Tabelle1").Range("AO" & 2 + c)
Worksheets("Tabelle1").Range("AQ" & 2 + c).Value = WorksheetFunction.CountIf(Range("A2:A1000"), _
_
Name)
c = c + 1
Next
End Sub