ich hatte heute morgen unter der Überschrift "Suchen, kompl. Sheet, jeden Treffer in Listbox - mizar 13.01.2011 20:58:07" Hilfe von Heinz H erhalten und seinen/Deinen Code "https://www.herber.de/bbs/user/73070.xls" in meiner Userform eingebaut und angepasst. Während das Original einwandfrei ("standalone") läuft, verursacht der eingebundene Code einen Fehler.
ChkPart wäre nicht definiert. Ich habe daraufhin chkPart und chkCase als Object deklariert.
Jetzt jammert Excel "Objektvariable oder With-Blockvariable nicht festgelegt" und zeigt auf die Zeile
"Set rngSearch = Sheets("Kontakte").Range("A:G").Find(What:=txtSearch, After:=.Range("G65536"), _
LookAt:=IIf(chkPart, xlWhole, xlPart), MatchCase:=IIf(chkCase, True, False))".
Hier der angepasste Code:
Private Sub cmdSearch_Click() 'Code aus der Hilfe von Heinz H - Herber-Forum
Application.ScreenUpdating = False
Dim objSH As Worksheet
Dim rngSearch As Range
Dim strFirst As String
Dim chkPart As Object
Dim chkCase As Object
Hauptfeld.ListBoxKontakte.ColumnCount = 7
Hauptfeld.ListBoxKontakte.ColumnWidths = "8cm;3cm;3cm;8cm;3cm;3cm;3cm"
Application.ScreenUpdating = False
If txtSearch "Ende" Then
Hauptfeld.ListBoxKontakte.Clear
Set objSH = Sheets("Kontakte")
With objSH
Set rngSearch = Sheets("Kontakte").Range("A:G").Find(What:=txtSearch, After:=.Range(" _
G65536"), _
LookAt:=IIf(chkPart, xlWhole, xlPart), MatchCase:=IIf(chkCase, True, False))
If Not rngSearch Is Nothing Then
strFirst = rngSearch.Address
Do
Hauptfeld.ListBoxKontakte.AddItem .Cells(rngSearch.Row, 1)
Hauptfeld.ListBoxKontakte.List(Hauptfeld.ListBoxKontakte.ListCount - 1, 1) = .Cells( _
_
_
rngSearch.Row, 2)
Hauptfeld.ListBoxKontakte.List(Hauptfeld.ListBoxKontakte.ListCount - 1, 2) = .Cells( _
_
_
rngSearch.Row, 3)
Hauptfeld.ListBoxKontakte.List(Hauptfeld.ListBoxKontakte.ListCount - 1, 3) = .Cells( _
_
_
rngSearch.Row, 4)
Hauptfeld.ListBoxKontakte.List(Hauptfeld.ListBoxKontakte.ListCount - 1, 4) = .Cells( _
_
_
rngSearch.Row, 5)
Hauptfeld.ListBoxKontakte.List(Hauptfeld.ListBoxKontakte.ListCount - 1, 5) = .Cells( _
_
_
rngSearch.Row, 6)
Hauptfeld.ListBoxKontakte.List(Hauptfeld.ListBoxKontakte.ListCount - 1, 6) = .Cells( _
_
_
rngSearch.Row, 7)
Set rngSearch = Sheets("Kontakte").Range("A2:G1119").FindNext(rngSearch)
Loop While Not rngSearch Is Nothing And rngSearch.Address strFirst
Else
Hauptfeld.ListBoxKontakte.AddItem "nichts gefunden!"
End If
End With
End If
Application.ScreenUpdating = True
End Sub
Könntet Ihr/Du mir hier nochmal einen Tipp geben?
Vielen Dank, ein schönes Wochenende,
Jörg
Ich habe übrigens den Fehler in meinem Code "additem" gefunden und zum Laufen gebracht.