Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
932to936
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
932to936
932to936
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Suchfunktion geht nicht

Suchfunktion geht nicht
10.12.2007 14:59:24
Jonny
Hallo Leute,
habe mal wieder ein Problem
In ersten Schritt versuche ich über die Suchfunktion die Einträge aus der Excel-Tabelle Blattnahme 01 in die ListBox1 zu übernehmen. Der Suchbegriff Bezieht sich auf den Bereich H6:H5000 und kann folgend aussehen 01/ oder 01/123. Es währe schön wenn die Einträge in der ListBox1 auch noch aufsteigend sortiert würden.
Im zweiten Schritt sollte die Markierte Zeile der ListBox1, die Werte in TextBox2, 3, 4 und 5 anzeigen, doch so weit bin ich noch lange nicht.

Private Sub CommandButton1_Click()
Dim xSuche, xAdresse, xErste As String
Dim y As Boolean
Dim arr() As Variant
Dim c As Range
Dim iRowU As Integer
ListBox1.Clear
xSuche = TextBox1.Value
If xSuche = "" Then
MsgBox "Bitte erst einen Suchbegriff eingeben!",
Exit Sub
End If
Set c = ActiveWorksheet.Cells.Find _
(xSuche, LookIn:=xlValues)
If Not c Is Nothing Then
With Worksheets("01")
xErste = c.Address
y = True
Do Until xAdresse = xErste
ReDim Preserve arr(0 To 3, 0 To iRowU)
arr(0, iRowU) = .Cells(c.Row, 7)
arr(1, iRowU) = .Cells(c.Row, 2)
arr(2, iRowU) = .Cells(c.Row, 3)
arr(3, iRowU) = .Cells(c.Row, 4)
iRowU = iRowU + 1
Set c = .Cells.FindNext(after:=c)
xAdresse = c.Adresse(False, False)
Loop
xAdresse = ""
xErste = ""
End With
End If
If y = False Then
MsgBox "Der Suchbegriff wurde nicht gefunden!
Else
ListBox1.Column = arr
End If
End Sub


Bitte um ein Tipp was ich bei der Suchfunktion falsch mache.
bei Set c = ActiveWorksheet.Cells.Find _
(xSuche, LookIn:=xlValues)
Kommt die Fehlermeldung „Objekt erforderlich“ ?
Vielen Dank im Voraus.
Jonny

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchfunktion geht nicht
10.12.2007 15:24:00
Rudi
Hallo,
du suchst möglicherweise nach dem kompletten Zellinhalt, erforderlich ist die Suche nach Teilen.
Set c = ActiveWorksheet.Cells.Find _
(xSuche, LookIn:=xlValues, LookAt:=xlPart)
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Suchfunktion geht nicht
10.12.2007 15:31:00
Jonny
Hallo Rudi,
habe es gerade mit
Set c = ActiveWorksheet.Cells.Find _
(xSuche, LookIn:=xlValues, LookAt:=xlPart)
getestet leider immernoch die selbe Fehlermeldung
Gruß
Jonny

AW: Suchfunktion geht nicht
10.12.2007 16:01:35
Rudi
Hallo,
ActiveWorksheet gibt es (zumindest in XP) nicht.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Suchfunktion geht nicht
10.12.2007 17:42:00
Jonny
Ich habe es auch ohne ActiveWorksheet versucht ohne Effekt.
Ich verzweifele an dem Teil :(
Gruß
Jonny

AW: Suchfunktion geht nicht
10.12.2007 20:50:40
Erich
Hallo Jonny,
probiers mal mit

Option Explicit
Private Sub CommandButton1_Click()
Dim xSuche As String, xAdresse As String, xErste As String
Dim y As Boolean
Dim arr() As Variant
Dim rngC As Range
Dim iRowU As Integer
xSuche = TextBox1.Value
If xSuche = "" Then
MsgBox "Bitte erst einen Suchbegriff eingeben!" ',
Exit Sub
End If
With Worksheets("01")
Set rngC = .Cells.Find(xSuche, LookIn:=xlValues, LookAt:=xlPart)
If Not rngC Is Nothing Then
xErste = rngC.Address(False, False)
y = True
Do Until xAdresse = xErste
ReDim Preserve arr(0 To 3, 0 To iRowU)
arr(0, iRowU) = .Cells(rngC.Row, 7)
arr(1, iRowU) = .Cells(rngC.Row, 2)
arr(2, iRowU) = .Cells(rngC.Row, 3)
arr(3, iRowU) = .Cells(rngC.Row, 4)
iRowU = iRowU + 1
Set rngC = .Cells.FindNext(after:=rngC)
xAdresse = rngC.Address(False, False)
Loop
'        xAdresse = ""
'        xErste = ""
End If
End With
If y Then
ListBox1.Column = arr
Else
ListBox1.Clear
MsgBox "Der Suchbegriff wurde nicht gefunden!"
End If
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Suchfunktion
10.12.2007 21:20:48
Erich
Hallo Jonny,
noch eine Version, bei der eine Zeile nur einmal auftaucht,
auch wenn der Begriff mehrfach in der Zeile steht.
Die Parameter beim Find habe ich auch noch etwas ergänzt:

Option Explicit
Private Sub CommandButton1_Click()
Dim xSuche As String, xAdresse As String, xErste As String
Dim y As Boolean
Dim arr() As Variant
Dim rngC As Range
Dim iRowU As Integer
xSuche = TextBox1.Value
If xSuche = "" Then
MsgBox "Bitte erst einen Suchbegriff eingeben!" ',
Exit Sub
End If
With Worksheets("01")
Set rngC = .Cells(.UsedRange.Row + .UsedRange.Rows.Count, 1)
Set rngC = .Cells.Find(xSuche, after:=rngC, LookIn:=xlValues, _
LookAt:=xlPart, SearchDirection:=xlNext, MatchCase:=False)
If Not rngC Is Nothing Then
xErste = rngC.Address(False, False)
y = True
Do Until xAdresse = xErste
ReDim Preserve arr(0 To 3, 0 To iRowU)
arr(0, iRowU) = .Cells(rngC.Row, 7)
arr(1, iRowU) = .Cells(rngC.Row, 2)
arr(2, iRowU) = .Cells(rngC.Row, 3)
arr(3, iRowU) = .Cells(rngC.Row, 4)
iRowU = iRowU + 1
Set rngC = .Cells.FindNext(after:=Cells(rngC.Row, 256))
xAdresse = rngC.Address(False, False)
Loop
End If
End With
If y Then
ListBox1.Column = arr
Else
ListBox1.Clear
MsgBox "Der Suchbegriff wurde nicht gefunden!"
End If
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Suchfunktion
11.12.2007 09:51:00
Jonny
Hallo Erich,
vielen Dank für deine Hilfe, funktioniert bestens!
Bin bei der ersten Variante geblieben, musste allerdings ein neues UserForm erstellen, da das UserForn in das ich es integrieren wollte nicht mit Option Explicit klargekommen ist.
Gruß
Jonny

288 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige