Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1964to1968
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 - Suche über Schaltfläche und Teileintragung

VBA - Suche über Schaltfläche und Teileintragung
13.02.2024 15:06:34
Gecko
Ich würde gerne mir alles anzeigen lassen, was nicht nur dem ganzen Suchbegriff entspricht, sondern auch nur einem Teil.

Beispiel:
Meine Tabelle enthält über 20.000 Einträge und ich möchte alle Einträge zu dem Datum 12.12.2021 herausfiltern. Jedoch enthält meine Ausgangstabelle das Datum zusätzlich mit Uhrzeit, also wird hier kein Suchergebnis ausgegeben.

Hier mein Code, der auch funktioniert, jedoch nur bei einer vollständigen Übereinstimmung.

Sub Schaltfläche3_Klicken()

Dim wks As Worksheet, wksS As Worksheet
Dim rng As Range
Dim sFirst As String, sFind As String, strTitel As String
Dim lRow As Long

strTitel = InputBox("Suche nach:", "Suchbegriff eingeben", , 5, 5) 'Suchdialog kreieren
lRow = 4 'Zeile ab der die gefundenen zeilen angezeigt werden
Set wks = Sheets("Daten") 'Tabelle in der gesucht wird
Set wksS = Sheets("Suche") 'Tabelle für die Ausgabe
sFind = strTitel 'Suchbegriff
wksS.Range("A4:O25000").ClearContents 'Zellen löschen
Set rng = wks.Range("A2:O24911").Find(sFind, wks.Range("O24911"), xlValues, xlWhole)
If Not rng Is Nothing Then
sFirst = rng.Address
wks.Range(wks.Cells(rng.Row, 1), wks.Cells(rng.Row, 15)).Copy _
wksS.Range(wksS.Cells(lRow, 1), wksS.Cells(lRow, 15))
lRow = lRow + 1
Do
Set rng = wks.Range("A2:O24911").FindNext(rng)
If rng.Address = sFirst Then Exit Do
wks.Range(wks.Cells(rng.Row, 1), wks.Cells(rng.Row, 15)).Copy wksS(Cells(lRow, 1))
lRow = lRow + 1
Loop
Else
MsgBox "Kein Treffer"
End If
End Sub


Danke für eure Hilfe

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Suche über Schaltfläche und Teileintragung
13.02.2024 15:12:47
peter
Hallo

Verwende xlPart statt xlWhole

Mfg.
Peter
AW: VBA - Suche über Schaltfläche und Teileintragung
13.02.2024 15:20:00
Gecko
Danke, manchmal ist man einfach zu doof :-)

... hoffentlich auch hierbei, denn nun bekomme ich einen Fehler in der Zeile:

wks.Range(wks.Cells(rng.Row, 1), wks.Cells(rng.Row, 15)).Copy wksS(Cells(lRow, 1))


soweit er nun halt mehr als einen Treffer hat

Zu meiner Tabelle zusätzlich: ich habe die Spalten A:O und Zeilen 2:24911
AW: VBA - Suche über Schaltfläche und Teileintragung
13.02.2024 15:33:16
peter
Hallo

Benutze die selbe Syntax wie beim ersten Eintrag.



wks.Range(wks.Cells(rng.Row, 1), wks.Cells(rng.Row, 15)).Copy _
wksS.Range(wksS.Cells(lRow, 1), wksS.Cells(lRow, 15))


Peter
Anzeige
AW: VBA - Suche über Schaltfläche und Teileintragung
13.02.2024 15:48:28
Gecko
Danke nochmals, auch da hätte ich selbst drauf kommen können, damit funktioniert alles TOP

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige