Suchscript mit Laufzeitfehler...Wer kann helfen?
25.01.2007 11:57:47
Albus
Ich habe ein Suchscript was mir immer folgenen fehler ausspuckt
Laufzeitfehler 1004: Die Find Eigenschaft des Range-Objektes kann nicht zugeordnet werden...
und zwar an folgender stelle:
Set rngSuchErgebnis = wsTabelle.Cells.Find(strSuchBegriff) (war gelb markiert)
soweit find ich das ganz gut WENN NUR DIESER DÄMLICHE FEHLER NICHT WÄHRE....KANN MIT BITTE JEMAND MAL HELFEN....DANKE IM VORRAUS!
hier der rest vom scribt:
Private Sub CommandButton46_Click()
' Diese Funktion sucht in allen geöffneten Exceldateien nach einem Suchbegriff und listet
' die Ergebnisse in einer Listbox auf. Wird in der Listbox auf einen Eintrag geklickt, so
' wird die Fundstelle angezeigt.
' Um dieses Beispiel nachzuvollziehen, benötigt man eine UserForm mit Namen "UserForm1".
' Darauf muss eine ListBox mit Namen "ListBox1" vorhanden sein. Diese muss in ihren Eigen-
' schaften bei "ColomnCount" den Wert "3" haben. In der Listbox muss folgender Code ein-
' gefügt werden:
'
Private Sub ListBox1_Click()
' Workbooks(ListBox1.Column(0)).Activate
' Worksheets(ListBox1.Column(1)).Activate
' Range(ListBox1.Column(2)).Select
' End Sub
'=========================================================================================
Dim wbExcelDatei As Workbook
Dim wsTabelle As Worksheet
Dim strSuchBegriff As String
Dim rngSuchErgebnis As Range
Dim strErsteAdresse As String
'-----------------------------------------------------------------------------------------
' Suchbegriffseingabe
'-----------------------------------------------------------------------------------------
strSuchBegriff = InputBox("Bitte Artikelnummer eingeben:", "Alle Regale durchsuchen")
'-----------------------------------------------------------------------------------------
' Abbrechen gedrückt -> Beenden
'-----------------------------------------------------------------------------------------
If strSuchBegriff = "" Then Exit Sub
'-----------------------------------------------------------------------------------------
' Alle geöffneten Exceldatein durchlaufen
'-----------------------------------------------------------------------------------------
For Each wbExcelDatei In Workbooks
'-------------------------------------------------------------------------------------
' Alle Tabellenblätter in den geöffneten Exceldatein durchlaufen
'-------------------------------------------------------------------------------------
For Each wsTabelle In wbExcelDatei.Sheets
'---------------------------------------------------------------------------------
' Suchbegriff suchen
'---------------------------------------------------------------------------------
Set rngSuchErgebnis = wsTabelle.Cells.Find(strSuchBegriff)
'---------------------------------------------------------------------------------
' Wurde etwas gefunden, dann...
'---------------------------------------------------------------------------------
If Not rngSuchErgebnis Is Nothing Then
'-----------------------------------------------------------------------------
' ...Adresse der 1. Fundstelle speichern
'-----------------------------------------------------------------------------
strErsteAdresse = rngSuchErgebnis.Address
'-----------------------------------------------------------------------------
' Alle weiteren Fundstellen suchen
'-----------------------------------------------------------------------------
Do
'-------------------------------------------------------------------------
' Fundstellen in einer Listbox auflisten
'-------------------------------------------------------------------------
With UserForm1.ListBox1
.AddItem
.Column(0, .ListCount - 1) = wbExcelDatei.Name
.Column(1, .ListCount - 1) = wsTabelle.Name
.Column(2, .ListCount - 1) = rngSuchErgebnis.Address
End With
'-------------------------------------------------------------------------
' Weitere Fundstelle auf dem Blatt?
'-------------------------------------------------------------------------
Set rngSuchErgebnis = wsTabelle.Cells.FindNext(rngSuchErgebnis)
Loop While Not rngSuchErgebnis Is Nothing And rngSuchErgebnis.Address strErsteAdresse
End If
Next
Next