Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.04.2024 20:05:21
28.04.2024 18:33:31
28.04.2024 18:25:12
28.04.2024 14:18:05
Anzeige
Archiv - Navigation
1916to1920
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

UF ListBox Abfrage

UF ListBox Abfrage
01.02.2023 10:53:58
Ulf
Hallo Ihr lieben Helfer,
ich habe hier eine Userform, die um eine Sache erweitert werden soll und da komme ich bisher nicht weiter. Es gibt 2 ComboBoxen und eine ListBox. In der ComboBox1 wird der Nachname eingetragen und in der ComboBox2 der Vorname. In der ListBox werden alle bisher eingetragenen Namen angezeigt. Dort sollen die Einträge je nach Eingabe der Namen entsprechend weniger werden zur Kontrolle. Mit den Nachnamen geht das ohne Probleme, doch wenn ich die Vornamen ebenfalls mit Filtern möchte, bekomme ich das nicht hin, da ich ein Anfänger in Sachen VBA bin und mir meine bisherigen Lösungen hier aus dem tollen Forum geholt habe.
Wie kann ich nun die beiden Eingaben zusammenführen, damit in der ListBox die Daten entsprechend gefiltert werden und ein neuer Eintrag in die Liste möglich ist, auch wenn ein Nachname doppelt vorhanden wäre?
Gruß Ulf

Private Sub Button_Take_Click()
    Dim last As Integer
    
    If ListBox1.ListCount Then
        MsgBox "Der/die Mitarbeiter/in ist bereits in der Liste vorhanden"
        Unload Personal
    Else
    
    last = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row + 1
        ActiveSheet.Cells(last, 4).Value = Personal.ComboBox2.Value
        ActiveSheet.Cells(last, 5).Value = " , "
        ActiveSheet.Cells(last, 6).Value = Personal.ComboBox1.Value
        MsgBox "Der/die Mitarbeiter/in ist neu"
    Unload Personal
    End If
End Sub
Private Sub UserForm_Initialize()
    Personal.Height = 250
    Personal.Width = 300
    Personal.ComboBox1.RowSource = "Data!B:B" 'Nachname
    Personal.ComboBox2.RowSource = "Data!C:C" 'Vorname
    
    Dim lngZeileMax As Long
    Dim lngZeile As Long
    Dim lngz As Long
    
    With Me.ListBox1
        .ColumnCount = 2
        .ColumnWidths = "100;100"
        .Font.Size = 12
    End With
    
    With Worksheets("Personal")
        lngZeileMax = .Range("C" & .Rows.Count).End(xlUp).Row
        For lngZeile = 3 To lngZeileMax
            Me.ListBox1.AddItem .Range("F" & lngZeile).Value
            Me.ListBox1.Column(1, lngz) = .Range("D" & lngZeile).Value
            lngz = lngz + 1
        Next lngZeile
    End With
End Sub
Private Sub ComboBox1_Change()
    Dim i As Integer
    Dim lngLaenge As Long
    Dim strText As String
    
    Me.ListBox1.Clear
    UserForm_Initialize
    lngLaenge = Len(Me.ComboBox1.Value)
    
    If Left(Me.ComboBox1.Value, 1) = "*" Then
        strText = LCase(Replace(Me.ComboBox1.Value, "*", ""))
        For i = Me.ListBox1.ListCount - 1 To 0 Step -1
        
        If InStr(Me.ListBox1.List(i, 0), strText) > 0 Or _
           InStr(LCase(Me.ListBox1.List(i, 1)), strText) > 0 Then
        Else
           Me.ListBox1.RemoveItem i
        End If
        
        Next i
        
    Else
    
    For i = Me.ListBox1.ListCount - 1 To 0 Step -1
    
    If Left(Me.ListBox1.List(i, 0), lngLaenge) = Me.ComboBox1.Value Or _
       LCase(Left(Me.ListBox1.List(i, 1), lngLaenge)) = LCase(Me.ComboBox1.Value) > 0 Then
    Else
       Me.ListBox1.RemoveItem i
    End If
    
    Next i
    End If
End Sub
Private Sub ComboBox2_Change() 'Vorname
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UF ListBox Abfrage
01.02.2023 11:57:28
snb
Eigenschaften sollten im Desing MOde eingtragen werden:
Personal.Height = 250
Personal.Width = 300
Personal.ComboBox1.RowSource = "Data!B:B" 'Nachname
Personal.ComboBox2.RowSource = "Data!C:C" 'Vorname

With Me.ListBox1
.ColumnCount = 2
.ColumnWidths = "100;100"
.Font.Size = 12
End With

AW: UF ListBox Abfrage
02.02.2023 10:41:37
Alwin
Hallo Ulf,
anbei mal ein möglicher Lösungsweg. Es muss dazu die MS Scripting Runtime aktviert sein.
https://www.herber.de/bbs/user/157611.xlsm
Gruß Uwe
Anzeige
AW: UF ListBox Abfrage
02.02.2023 11:36:01
Ulf
Hallo Uwe,
vielen Dank für die Hilfe. Ich werde mir das gleich anschauen.
Gruß Ulf

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige