Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1196to1200
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

und gleichzeitig noch ne andere Problemfrage

und gleichzeitig noch ne andere Problemfrage
Pascal
Sorry, dass ich jetzt - obwohl ich ein paar Zeilen weiter unten schon ein Problem gepostet habe.... schon wieder poste ! ;-(
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 !!!!

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: und gleichzeitig noch ne andere Problemfrage
25.01.2011 12:46:37
Josef

Hallo Pascal,
ändere im Code
rngFund.Resize(1, xCol - rngFund.Column + 1)

bzw.
Set rngUnion = Union(rngUnion, rngFund.Resize(1, xCol - rngFund.Column + 1))

um in
rngFund.EntireRow

bzw.
Set rngUnion = Union(rngUnion, rngFund.EntireRow)


Gruß Sepp

Anzeige
AW: und gleichzeitig noch ne andere Problemfrage
25.01.2011 14:09:21
Pascal
... ich werds gleich probieren !
danke schon mal herzlich für die rasche Hilfe
AW: und gleichzeitig noch ne andere Problemfrage
25.01.2011 14:55:14
Pascal
DANKE !!!!
genau was ich brauchte !

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige