Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1572to1576
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
objektdefinierter fehler Loop schleife
11.08.2017 11:16:33
Sigi
Hallo,
ich habe eine Datenbank, die nach dem wert findKSTDaten in spalte B durchsucht werden soll. Wird der wert gefunden, soll der wert 8 zellen weiter rechts (siehe offset) in eine Listbox (Additem) eingetragen werden
Leider funktioniert es nicht, es kommt immer anwendungs- oder objektdefinierter Fehler bei der Zeile die mit ErgebnisDaten beginnt
Ich hoffe ihr könnt mir helfen
Danke schon mal
Private Sub Hinzufügen()
Dim findKSTDaten As String
Dim LastrowDaten As Long
Dim ErgebnisDaten As Range   'Suchergebnis in Tabelle Datenbank
Dim Firstaddress As String
LastrowDaten = Worksheets("Datenbank").Range("B" & Rows.Count).End(xlUp).Row
With Worksheets("Datenbank").Range("B6:B" & LastrowDaten)
findKSTDaten = lb_KST.Caption
ErgebnisDaten = Worksheets("Datenbank").Range("B").Find(what:=findKSTDaten, LookIn:=xlValues)
lst_VorhandeneDaten.AddItem ErgebnisDaten.Offset(0, 8).Value
If Not ErgebnisDaten Is Nothing Then
Firstaddress = ErgebnisDaten.Address
Do
lst_VorhandeneDaten.AddItem ErgebnisDaten.Offset(0, 8)
Set ErgebnisDaten = .FindNext(ErgebnisDaten)
If ErgebnisDaten Is Nothing Then
GoTo DoneFinding
End If
Loop While Not ErgebnisDaten Is Nothing And ErgebnisDaten  Firstaddress
End If
DoneFinding:
End With
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: objektdefinierter fehler Loop schleife
11.08.2017 11:21:46
hary
Moin
Setz mal ein Set davor. Dann hast du ein Objekt.
Set ErgebnisDaten =
gruss hary
AW: objektdefinierter fehler Loop schleife
11.08.2017 11:35:07
Sigi
Hallo
vielen Dank für die schnelle antwort.
ja das habe ich auch schon versucht geht leider nicht...
Gruß Sigi
AW: objektdefinierter fehler Loop schleife
11.08.2017 18:22:26
Werner
Hallo Sigi,
Set ErgebnisDaten = Worksheets("Datenbank").Range("B:B").Find.....
Gruß Werner
AW: objektdefinierter fehler Loop schleife
11.08.2017 21:09:39
Sigi
Hallo Werner
danke für die Antwort!
Ich habe es gerade ausprobiert. Leider hängt sich excel damit auf und kann nur noch mit Taskmananger beendet werden.
Auch mit folgendem Code
Set ErgebnisDaten = Worksheets("Datenbank").Range("B6:B" & lastrow).Find.....
mit lastrow als letzt benutzte Zeile hängt sich excel auf.
Stimmt vielleicht etwas an der Schleife nicht, dass es eine endlosschleife gibt.
Vielen Dand und Gruß Sigi
Anzeige
AW: objektdefinierter fehler Loop schleife
11.08.2017 21:54:40
Werner
Hallo Sigi,
Versuch mal:
Private Sub Hinzufügen()
Dim loLetzte As Long
Dim i AS Long
With Worksheets("Datenbank")
loLetzte = .Cells(.Rows.Count, 2).End(xlUp).Row
For i = 6 To loLetzte
If .Cells(i, 2).Value = lb_KST.Caption Then
lst_VorhandeneDaten.Additem .Cells(i, 8).Value
End If
Next i
End With
Könnte aber nicht testen, hab momentan kein Excel zur Verfügung und den Code auf meinem Tablet geschrieben.
Gruß Werner
AW: objektdefinierter fehler Loop schleife
12.08.2017 10:09:54
Sigi
Hallo Werner,
vielen Dank für die Antwort
hat super funktioniert und hängt sich auch nicht mehr auf
Danke und Gruß
Sigi
Anzeige
Danke für die Rückmeldung und...
13.08.2017 09:54:06
Werner
Hallo Sigi,
hier dein geänderter Code zum Befüllen der ListBox mit der Find-Methode.
Sub Hinzufügen()
Dim findKSTDaten As String
Dim LastrowDaten As Long
Dim ErgebnisDaten As Range   'Suchergebnis in Tabelle Datenbank
Dim Firstaddress As String
LastrowDaten = Worksheets("Datenbank").Range("B" & Rows.Count).End(xlUp).Row
lst_VorhandeneDaten.Clear 'ListBox leeren
With Worksheets("Datenbank")
findKSTDaten = lb_KST.Caption
Set ErgebnisDaten = .Range("B5:B" & LastrowDaten).Find(what:=findKSTDaten, LookIn:=xlValues)
If Not ErgebnisDaten Is Nothing Then
Firstaddress = ErgebnisDaten.Address
Do
lst_VorhandeneDaten.AddItem ErgebnisDaten.Offset(0, 8)
Set ErgebnisDaten = .Range("B5:B" & LastrowDaten).FindNext(ErgebnisDaten)
Loop While Not ErgebnisDaten Is Nothing And ErgebnisDaten.Address  Firstaddress
End If
End With
End Sub
Gruß Werner
Anzeige
AW: Danke für die Rückmeldung und...
13.08.2017 14:41:31
Sigi
Hallo Werner,
danke für den Code auch er hat funktioniert.
und noch einen schönen Sonntag
Gruß Sigi
Gerne und ebenso... o.w.T.
13.08.2017 14:56:44
Werner

145 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige