Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1648to1652
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

.Find Methode

.Find Methode
28.09.2018 17:33:54
Hendrik
Hallo zusammen,
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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: .Find Methode
28.09.2018 18:18:04
Luschi
Hallo Hendrik,
die Vba-Hilfe ist diesmal Dein Freund & Helfer. Zu .Find gehört in einer Do-Schleife noch .FindNext
zum Suchen der weiteren Werte gleichen Inhalts.
https://docs.microsoft.com/en-us/office/vba/api/excel.range.find
Gruß von Luschi
aus klein-Paris
AW: .Find Methode
28.09.2018 20:41:47
Hendrik
Vielen herzlichen Dank Dir!
Funktioniert nun einwandfrei :)
VG
Hendrik
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige