Aber....
Ich brauche gleich nochmals (oder schon wieder) eure profi-Hilfe
Und zwar bei folgendem Code:
Private Sub CommandButton1_Click()
'On Error Resume Next
Dim wb As Workbook, WS_Suche As Worksheet, oWS As Worksheet, _
rngUnion As Range, rngFund As Range
Dim strErste$, strSuchBegriff$
Dim MaxRow As Long, xCol As Long
'Hinweis: da
'Dim strErste$ = Dim strErste As String
'muß bei der weiteren Verwendung der Variable 'strErste' das $-Zeichen nicht mehr geschrieben _
werden
Set wb = ThisWorkbook
'Tabelle für die Auflistung
Set WS_Suche = wb.Worksheets("Suche")
WS_Suche.UsedRange.Clear
strSuchBegriff = Such_Formular.TextBox1.Text
If StrPtr(strSuchBegriff) = 0 Then
Exit Sub
End If
MaxRow = 1
Sheets("Suche").UsedRange.Clear
For Each oWS In ThisWorkbook.Worksheets
If oWS.Name WS_Suche.Name Then
Set rngFund = oWS.UsedRange.Find(strSuchBegriff, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False)
If Not rngFund Is Nothing Then
xCol = oWS.Cells(rngFund.Row, oWS.Columns.Count).End(xlToLeft).Column
Set rngUnion = rngFund.Resize(1, xCol - rngFund.Column + 1)
strErste = rngFund.Address
Set rngFund = oWS.UsedRange.FindNext(rngFund)
Do While strErste rngFund.Address
xCol = oWS.Cells(rngFund.Row, oWS.Columns.Count).End(xlToLeft).Column
Set rngUnion = Union(rngUnion, rngFund.Resize(1, xCol - rngFund.Column + 1))
Set rngFund = oWS.UsedRange.FindNext(rngFund)
Loop
End If
If Not rngUnion Is Nothing Then
For Each rngUnion In rngUnion.Areas
rngUnion.Copy WS_Suche.Cells(MaxRow, 1)
MaxRow = MaxRow + rngUnion.Rows.Count
Next rngUnion
Set rngUnion = Nothing
End If
End If
Next oWS
Set rngFund = Nothing
Set rngUnion = Nothing
Set oWS = Nothing
End Sub
Zu diesem Code kam ich vor langem mal dank Eurer tollen Hilfe hier im Forum. Dieser Code (der steckt hinter einer SUCHEN-Schaltfläche auf einer User Form) erlaubt es, eine grössere Excel-Datenbank nach Suchbegriffen zu durchsuchen.Alle gefundenen Datensätzen werden dann in einem Tabellenblatt mit dem Namen "SUCHE" ausgegeben.
Doch Problem ist:
Es werden zwar alle Suchbegriffe aufgelistet, nicht aber die ganze Zeile in welcher der gefundene Suchbegriff steht.
Beispiel:
Wird nach dem Wort "Test-Suche" gesucht, so findet das Makro zwar diesen Text (dieser Text steht beispielsweise in einem Tabellenblatt in der Zeile 12 in der Spalte E) aber das Makro bringt als Resultat nicht die ganze Zeile 12 zurück, sondern nur ab der Spalte E nach rechts.
Das Makro müsste aber richtigerweise immer die ganze Zeile zurückgeben (also inklusive Zelle A, B, C, D, .. nach rechts)
(hoffe das sei so verständlich)
Was müsste ich also in dem obenstehenden Code anpassen ?
HERZLICHEN DANK SCHON MAL !!!!