Thema Datum  Von Nutzer Rating
Antwort
18.06.2016 23:24:20 Philipp
NotSolved
19.06.2016 23:13:44 Gast91581
NotSolved
20.06.2016 12:43:08 Philipp
NotSolved
Blau ListBox mit 2 Spalten füllen, in 1 Spalte Begriff suchen und Wert aus 2 Spalte in Tabelle
20.06.2016 15:02:47 Gast6586
NotSolved
20.06.2016 15:03:35 Gast96512
NotSolved
20.06.2016 23:39:13 Philipp
NotSolved
20.06.2016 23:39:16 Philipp
NotSolved
21.06.2016 10:49:01 Philipp
Solved

Ansicht des Beitrags:
Von:
Gast6586
Datum:
20.06.2016 15:02:47
Views:
671
Rating: Antwort:
  Ja
Thema:
ListBox mit 2 Spalten füllen, in 1 Spalte Begriff suchen und Wert aus 2 Spalte in Tabelle

Moin! Ist ja schon fast alles programmiert. :-) Also bzgl. der Null solltest du das Ergebnis der Textbox vor dem verarbeiten noch abfangen. Habe deshalb bei der Listbox1 Click noch ein IF then eingebaut. Und für die ANzeige bei der Suche liest du ja nur einen Wert in das Array ein. Mehr kann er dann auch nicht anzeigen. Habe es jetzt mal auf 3 Spalten erweitert und lese dort die Daten ein. Zumindest in meiner nachgestellten Version, zeigt er da alles an. VG

 

Option Explicit
Dim x As Long
Dim FaName As String
Private Sub CommandButton1_Click()
FaName = ""
Unload Me
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
If IsNull(ListBox1.Value) Then
    MsgBox "Sie haben nichts ausgewählt!"
    Exit Sub
Else
    FaName = ListBox1.Value
    Sheets("UB").Range("K15").Value = FaName
    Unload Me
    End If
End Sub
 
Private Sub TextBox1_Change()

Dim arr() As Variant
Dim index As Long, iCount As Long
x = IIf(IsEmpty(Range("U65536")), Range("U65536").End(xlUp).Row, 65536)
If TextBox1.Value = "" Then
    ListBox1.RowSource = "U8:U" & x
    Exit Sub
End If
ListBox1.RowSource = ""
ListBox1.Clear
For index = 5 To x
    If LCase(Left(Cells(index, 21), Len(TextBox1))) = LCase(TextBox1) Then
        If Sheets("UB").Cells(index, 21) <> "" Then
            On Error Resume Next
            ReDim Preserve arr(2, 0 To iCount)
            arr(0, iCount) = Cells(index, 21)
            arr(1, iCount) = Cells(index, 22)
            arr(2, iCount) = Cells(index, 22)
            iCount = iCount + 1
            ListBox1.Column = arr
        End If
    End If
Next

On Error GoTo 0

End Sub
Private Sub UserForm_Initialize()
x = IIf(IsEmpty(Range("U65536")), Range("U65536").End(xlUp).Row, 65536)
ListBox1.RowSource = "U8:W" & x
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen