Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1568to1572
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
Inhaltsverzeichnis

Typen unverträglich: Listbox gefiltert n. Eingabe

Typen unverträglich: Listbox gefiltert n. Eingabe
30.07.2017 13:38:05
Gast2508
Hallo zusammen
Ich habe eine Excel Tabelle mit einer Stückzahl in Spalte B und einem Firmenname in Spalte C. In einer Userform soll nun in einem Textfeld eine Eingabe (Stückzahl, also Zahlen) gemacht werden. Dabei soll sich die Listbox, die am Anfang alle Einträge (Stückzahl und Firmenname ) enthält, nur noch die Einträge anzeigen, die zur Eingabe in der Textbox passen.
Problem: Userform lässt sich zwar öffnen, bei einer Eingabe kommt aber der Fehler: Laufzeitfehler 13 Typen unverträglich
Beim Debuggen wird der Code
Set RaFound = .Range("B6:B" & LoLetzte).Find(Tx_Stückzahl _
& "*", .Cells(LoLetzte, 1), , xlWhole, , xlNext)
gelb markiert.
Hier mein Code:
Option Explicit
Dim LoLetzte As Long

Private Sub Lst_Firmenname_Click()
Tx_Stückzahl = Lst_Firmenname
End Sub

Private Sub Tx_Stückzahl _Change()
Dim LoI As Long
Dim LoZeile As Long
Dim RaFound As Range
Application.ScreenUpdating = False
If Tx_Stückzahl = "" Then
Lst_Firmenname.RowSource = "B6:C" & LoLetzte
Else
Lst_Firmenname.RowSource = ""
With Worksheets("Tabelle1")
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), _
Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
Set RaFound = .Range("B6:B" & LoLetzte).Find(Tx_Stückzahl _
& "*", .Cells(LoLetzte, 1), , xlWhole, , xlNext)
If Not RaFound Is Nothing Then
For LoI = RaFound.Row To LoLetzte
If UCase(Left(.Cells(LoI, 1), Len(Tx_Stückzahl ))) _
= UCase(Tx_Stückzahl ) Then
Lst_Firmenname.AddItem .Cells(LoI, 1)
Lst_Firmenname.List(LoZeile, 1) = .Cells(LoI, 2)
LoZeile = LoZeile + 1
Else
If UCase(Left(.Cells(LoI, 1), 1)) _
UCase(Left(Tx_Stückzahl , 1)) Then
Exit For
End If
End If
Next
End If
End With
End If
Set RaFound = Nothing
Application.ScreenUpdating = True
End Sub

Private Sub UserForm_Initialize()
With Worksheets("Tabelle1")
LoLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), _
.Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count)
Lst_Firmenname.RowSource = "B6:c" & LoLetzte
Lst_Firmenname.ColumnCount = 2
End With
End Sub

Schon mal vielen Dank für eure Antworten

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Typen unverträglich: Listbox gefiltert n. Eingabe
30.07.2017 14:47:05
Matthias
Moin! Das Problem bei deinem Find ist, dass du in der Spalte B suchst, aber dein lookafter in Spalte A ist. Wenn du es so änderst
Set RaFound = .Range("B6:B" & LoLetzte).Find(Tx_Stückzahl _
& "*", .Cells(LoLetzte, 2), , xlWhole, , xlNext)
Sollte es klappen. Den Rest vom Code habe ich mir nicht angeschaut. Wobei ich das lookafter ggf. weglassen würde. VG
AW: Typen unverträglich: Listbox gefiltert n. Eingabe
30.07.2017 16:14:59
Gast2508
Danke für die schnelle Antwort!
Hat super funktioniert!
Weiß noch jemand eine Möglichkeit wie man die Letzte Zeile einer Tabelle ermittelt, auch wenn diese ein paar Lücken hat?
AW: Typen unverträglich: Listbox gefiltert n. Eingabe
30.07.2017 16:22:29
Matthias
Hallo!
Deine Variante hier geht doch oder?
Cells(Rows.Count, 1).End(xlUp).Row
Es könnte auch mit
Tabelle1.UsedRange.Rows.Count
gehen.
VG
Anzeige
AW: Typen unverträglich: Listbox gefiltert n. Eingabe
30.07.2017 16:32:24
Gast2508
Hallo
Danke für die Antwort.
Leider funktionierts nicht. Wenn man noch nichts in die Textbox eingegeben hat ist alles da, auch über die Lücken hinaus. Gibt man etwas in die Textbox ein, werden in der Listbox nur die Treffer bis zur ersten Lücke angezeigt.
Gruß
AW: Typen unverträglich: Listbox gefiltert n. Eingabe
30.07.2017 16:36:59
Gast2508
Jetzt geht es, habe folgenden Teil weggemacht
Else
Exit For
Else
'If UCase(Left(.Cells(LoI, 2), 2)) _
UCase(Left(Tx_Stückzahl, 2)) Then
Exit For
End If
AW: Typen unverträglich: Listbox gefiltert n. Eingabe
30.07.2017 19:40:52
Gast2508
Hat jemand einen Code, der die Auswahl aus der Listbox beim anklicken in ein anderes Textfeld / Label übernimmt? Komme da irgenwie nicht weiter...
Gruß
Anzeige
AW: Typen unverträglich: Listbox gefiltert n. Eingabe
30.07.2017 19:57:18
Matthias
Hallo! In etwas so:
TextBox1.Value = ListBox1.List(Me.ListBox1.ListIndex, spalte)
Die Namen für die Listenbox bzw. Textbox noch anpassen. In Spalte muss die Zahl der LIstboxspalte rein. Die Zählung dort beginn aber bei 0. ALso Spalte A ist 0.
VG
AW: Typen unverträglich: Listbox gefiltert n. Eingabe
30.07.2017 20:21:40
Gast2508
Hallo
ja an sowas habe ich auch schon gedacht.
jetzt kommt Fehler: Methode oder Datenobjekt nicht gefunden und markiert das .value=
Private Sub Lst_Firmenname_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
lb_Firmenbezeichnung.Value = Lst_Firmenname.List(Me.Lst_Firmenname.ListIndex, 1)
End Sub
VG
Anzeige
AW: Typen unverträglich: Listbox gefiltert n. Eingabe
30.07.2017 20:28:16
Matthias
Moin! ALso ein Label hat keine Value Eigenschaft. Dort musst du auf die caption zurückgreifen. Sollte dann so sein:
Private Sub Lst_Firmenname_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
lb_Firmenbezeichnung.caption = Lst_Firmenname.List(Me.Lst_Firmenname.ListIndex, 1)
End Sub
VG
AW: Typen unverträglich: Listbox gefiltert n. Eingabe
30.07.2017 20:38:37
Gast2508
Hallo nochmal,
ja das macht sinn vielen Dank.
Jetzt heißt es Eigenschaft List konnte nicht abgerufen werden. Index des Eigenschaftsfeldes ungültig.
Hast du dafür auch noch die Lösung?
VG
AW: Typen unverträglich: Listbox gefiltert n. Eingabe
30.07.2017 20:50:38
Matthias
Hallo! Ohne den Code kann man das nicht wirklich nachvollziehen. NAchstellen kann ich die Fehlermeldung wenn in der Klammer der LIst die falschen indizes stehen. Wenn deine Liste nur eine Spalte hat, dann nur einen Wert. Und wie gesagt der erste Eintrag startet mit 0. WEnn du nur einen Wert hast muss da also .list(0) stehen - sonst kommt der Fehler. So muss für heute aber Schluß machen. VG
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige