Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Userform Suchfunktion

VBA Userform Suchfunktion
10.03.2022 19:19:22
Kuni
Guten Abend zusammen,
ich bin gerade dabei, meine bestehende UF Eingabemaske durch eine Suchfunktion zu erweitern. Ich bekomme aber immer wieder die Fehlermeldung Laufzeitfehler 9 Index außerhalb des gültigen Bereichs angezeigt.

Private Sub CommandButton4_Click()
Dim objCell As Range
Dim strFirstAddress As String
Dim lngRow As Long, lngCount As Long
Dim objDictionary As Object
Call ListBox1.Clear
If TextBox13.TextLength = 0 Then
Call MsgBox("Bitte einen Suchbegriff eingeben.", vbExclamation, "Hinweis")
Else
Set objDictionary = CreateObject(Class:="Scripting.Dictionary")
With Worksheets("Datenbank")                                                       
Set objCell = .Cells.Find(What:=TextBox13.Text, After:=Cells(1, 1), _
LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)
If Not objCell Is Nothing Then
strFirstAddress = objCell.Address
Do
lngRow = objCell.Row
If Not objDictionary.Exists(lngRow) Then
objDictionary(lngRow) = vbNullString
Call ListBox1.AddItem
ListBox1.List(lngCount, 0) = .Cells(lngRow, 8).Text
ListBox1.List(lngCount, 1) = .Cells(lngRow, 1).Text
ListBox1.List(lngCount, 2) = .Cells(lngRow, 2).Text
ListBox1.List(lngCount, 3) = .Cells(lngRow, 13).Text
ListBox1.List(lngCount, 4) = .Cells(lngRow, 14).Text
ListBox1.List(lngCount, 5) = .Cells(lngRow, 15).Text
ListBox1.List(lngCount, 6) = .Cells(lngRow, 18).Text
ListBox1.List(lngCount, 7) = .Cells(lngRow, 19).Text
ListBox1.List(lngCount, 8) = CStr(lngRow)
lngCount = lngCount + 1
End If
Set objCell = .Cells.FindNext(After:=objCell)
Loop Until objCell.Address = strFirstAddress
Set objCell = Nothing
Else
Call MsgBox("Es wurde nichts gefunden.", vbExclamation, "Hinweis")
End If
End With
End If
End Sub
Grüße Kuni
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Userform Suchfunktion
10.03.2022 19:27:06
onur
So eine Fehlermeldung bedeutet, dass dieses Blatt mit diesem Namen NICHT existiert.
AW: VBA Userform Suchfunktion
10.03.2022 19:36:33
Kuni
Hallo
das Tabellenblatt ist aber so vorhanden
Grüße Kuni
AW: VBA Userform Suchfunktion
10.03.2022 19:42:13
onur
Lad doch mal die Datei hoch.
Anzeige
AW: VBA Userform Suchfunktion
10.03.2022 19:49:15
Daniel
Hi
Sicher?
Vielleicht heißt das Blatt ja "Datenbank " und hat noch ein Leerzeichen hinten dran?
Laufzeitfehler 9 bedeutet an dieser Stelle nun mal, das es das angesprochene Blatt so nicht gibt und FA reicht schon ein abweichendes Zeichen.
Gruß Daniel
AW: VBA Userform Suchfunktion
11.03.2022 08:20:46
Kuni
Hallo Daniel,
genau da lag der Fehler ;-)
Danke
Grüße Kuni
Anzeige
AW: VBA Userform Suchfunktion
11.03.2022 08:23:37
onur
Gern geschehen !!!!
Abgesehen davon...
10.03.2022 22:15:37
{Boris}
Hi,
fehlt noch ein auf den With-Rahmen referenzierender Punkt bei:

After:=Cells(1, 1)
Muss heißen:

With Worksheets("Datenbank")                                                       .Cells(1, 1), _
LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)
VG, Boris
Anzeige
AW: Abgesehen davon...
11.03.2022 08:21:53
Kuni
Hallo Boris,
danke für den Hinweis ;-)
Grüße Kuni
;

Forumthreads zu verwandten Themen

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