Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: find Methode Bereich kann nicht zugeordnet werden

find Methode Bereich kann nicht zugeordnet werden
Jonathan
Hey,
ich habe folgenden - bisher funktionierenden - Code zum Suchen eines bestimmten Wertes innerhalb eines def. Bereichs:

Set WkSh = ThisWorkbook.Sheets("Suchwerte")
With WkSh.Cells
Set rZelle = .Range(WkSh.Cells(2, 1), WkSh.Cells(ersteZelleoDaten(Sheets("Suchwerte"), 1)  _
- 1), 6).find(Me.txt_find.Value, LookAt:=xlPart, LookIn:=xlValues)
If Not rZelle Is Nothing Then
sFundst = rZelle.Address
Do
Me.lbox_find.AddItem " "
Me.lbox_find.List(lLiBox, 0) = WkSh.Cells(rZelle.Row, 1).Value
Me.lbox_find.List(lLiBox, 1) = WkSh.Cells(rZelle.Row, 2).Value
Me.lbox_find.List(lLiBox, 2) = WkSh.Cells(rZelle.Row, 3).Value
Me.lbox_find.List(lLiBox, 3) = WkSh.Cells(rZelle.Row, 4).Value
Me.lbox_find.List(lLiBox, 4) = WkSh.Cells(rZelle.Row, 5).Value
lLiBox = lLiBox + 1
Set rZelle = .FindNext(rZelle)
Loop While Not rZelle Is Nothing And rZelle.Address  sFundst
End If
End With
Ich habe irgendwas daran geändert, weiß aber nicht mehr was - jetzt erhalte ich für Set rZelle = ... die Fehlermeldung:
Fehler beim Kompilieren:
Falsche Anzahl an Argumenten oder ungültige Zuweisung einer Eigenschaft.
Könnt Ihr mir kurz helfen, wo der Fehler liegt?
Danke Euch!
Anzeige
Cells hat keine Eigenschaft Range, ...
26.09.2011 13:17:49
Luc:-?
…Jonathan;
With WkSh.Cells: Set rZelle = .Range…Cells ist falsch, anderenfalls muss anders umgebaut wdn.
Gruß Luc :-?
AW: find Methode Bereich kann nicht zugeordnet werden
26.09.2011 13:18:28
Rudi
Hallo,

....
Set WkSh = ThisWorkbook.Sheets("Suchwerte")
With WkSh
Set rZelle = .Range(.Cells(2, 1), .Cells(ersteZelleoDaten(WkSh, 1) - 1), 6).Find(Me. _
txt_find.Value, LookAt:=xlPart, LookIn:=xlValues)
If Not rZelle Is Nothing Then
....

Gruß
Rudi
Anzeige
AW: find Methode Bereich kann nicht zugeordnet werden
26.09.2011 13:24:00
Jonathan
Hey,
das habe ich auch gedacht - trotz Änderung des Codes erhalte ich die selbe Fehlermeldung...
der komplette Code:
26.09.2011 13:31:58
Jonathan

Private Sub find()
Dim WkSh      As Worksheet
Dim rZelle    As Range
Dim sFundst   As String
Dim lLiBox    As Long
If Me.txt_find.Value = "" Then
MsgBox "Bitte hinterlegen sie einen Suchbegriff", _
48, "   Hinweis für " & Application.UserName
Me.lbox_find.SetFocus
Exit Sub
Else
Me.lbox_find.Clear
End If
Set WkSh = ThisWorkbook.Sheets("Suchwerte")
With WkSh
Set rZelle = .Range(.Cells(2, 1), .Cells(ersteZelleoDaten(Sheets("Suchwerte"), 1) - 1), 6) _
.find(Me.txt_find.Value, LookAt:=xlPart, LookIn:=xlValues)
If Not rZelle Is Nothing Then
sFundst = rZelle.Address
Do
Me.lbox_find.AddItem " "
Me.lbox_find.List(lLiBox, 0) = WkSh.Cells(rZelle.Row, 1).Value
Me.lbox_find.List(lLiBox, 1) = WkSh.Cells(rZelle.Row, 2).Value
Me.lbox_find.List(lLiBox, 2) = WkSh.Cells(rZelle.Row, 3).Value
Me.lbox_find.List(lLiBox, 3) = WkSh.Cells(rZelle.Row, 4).Value
Me.lbox_find.List(lLiBox, 4) = WkSh.Cells(rZelle.Row, 5).Value
lLiBox = lLiBox + 1
Set rZelle = .Cells.FindNext(rZelle)
Loop While Not rZelle Is Nothing And rZelle.Address  sFundst
End If
End With
If lLiBox = 0 Then
MsgBox "Zum Suchbegriff  """ & Me.txt_find.Value & """  wurde nichts " & _
"passendes gefunden.", _
48, "   Hinweis für " & Application.UserName
With Me.txt_find
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
Else
Me.lbox_find.ListIndex = 0
Me.lbox_find.SetFocus
End If
End Sub

Anzeige
Warum so eine gemischte Form aus benannten ...
26.09.2011 13:35:38
Luc:-?
…und unbenannten Find-Parametern, Leute?
Und was ist/macht ersteZelleoDaten(WkSh, 1)? Sieht doch sehr merkwürdig aus, da WkSh doch ein Worksheet sein soll!
Luc :-?
AW: Warum so eine gemischte Form aus benannten ...
26.09.2011 13:41:37
Jonathan
Was meinst du mit benannten und unbenannten find-Parametern?

Function ersteZelleoDaten(ByRef sh As Worksheet, ByVal Col As Long)
Dim intCounter As Integer
With sh
intCounter = [DatenUB].Row
Do Until .Cells(intCounter, Col).Value = ""
intCounter = intCounter + 1
If intCounter > 100000 Then
Exit Do
End If
Loop
ersteZelleoDaten = intCounter
End With
End Function

Anzeige
Na toll, 'ne udF, macht's nicht gerade ...
26.09.2011 13:57:19
Luc:-?
…übersichtlicher, Jonathan!
So kann ersteZelleoDaten maximal 100001 sein Neue Frage: Was ist [DatenUB]? Vermute, ein benannter Bereich bzw eine Variable für den Namen desselben. Das ist ohnehin ungünstig, weil langsames Uralt-Pgmier-Relikt → Range("DatenUB") bzw Range(DatenUB) (nur falls DatenUB eine Globalvariable für den Namen ist — ich arbeite idR so!) wäre besser. Klärt das Problem aber kaum.
benannter Parameter (Bsp): name:=wert
Gruß Luc :-?
Anzeige
habs gelöst
26.09.2011 14:01:07
Jonathan
Hey,
danke für die Erklärung!
Werde es entsprechend anpassen; mein Problem hat sich durch Änderung des Bereichs auf

Set rZelle = .Range("A2:F" & ersteZelleoDaten(Sheets("Suchwerte"), 1, 2) - 1).find(Me.txt_find.Value, LookAt:=xlPart, LookIn:=xlValues)

gelöst!
Danke!
Anzeige
Bitte sehr! Gruß owT
27.09.2011 00:33:50
Luc:-?
:-?
AW: Warum so eine gemischte Form aus benannten ...
26.09.2011 13:45:22
Jonathan
Hey,
wenn ich folgenden Teil separiere, erhalte ich nach wie vor die Fehlermeldung:

Sub testaa()
Dim rZelle As Range
MsgBox ersteZelleoDaten(Sheets("Suchwerte"), 1, 2) - 1
Set WkSh = ThisWorkbook.Sheets("Suchwerte")
With WkSh
Set rZelle = .Range(.Cells(2, 1), .Cells(ersteZelleoDaten(Sheets("Suchwerte"), 1, 2) - 1), 6)
End With
End Sub

Die Funktion habe ich angepasst:

Function ersteZelleoDaten(ByRef sh As Worksheet, ByVal Col As Long, ByVal ersZei As Long)
Dim intCounter As Integer
With sh
intCounter = ersZei
Do Until .Cells(intCounter, Col).Value = ""
intCounter = intCounter + 1
If intCounter > 100000 Then
Exit Do
End If
Loop
ersteZelleoDaten = intCounter
End With
End Function

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige