Herbers Excel-Forum - das Archiv

Listbox nach öffnen der Userform füllen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:


Betrifft: Listbox nach öffnen der Userform füllen
von: Dominik

Geschrieben am: 09.09.2019 18:48:07
Hallo,
ich habe hier einen code von Nepumuk und würde gerne wissen ob es möglich ist diesen auch in userform initialize einzufügen, sodass die Listbox gefüllt wird sobald die userform geöffnet wurde. ich hoffe das geht ?
gruß dominik
Private Sub CommandButton1_Click()
Dim rng As Range
Dim objSheet As Worksheet
Dim strFirst As String
Set objSheet = Worksheets("Tabelle2")
With ListBox5
.Clear
.ColumnCount = 5
Set rng = objSheet.Columns("P").Find(What:=TextBox17.Value, _
LookIn:=xlValues, LookAt:=xlWhole)
If Not rng Is Nothing Then
strFirst = rng.Address
Do
.AddItem rng.Value
.List(.ListCount - 1, 1) = objSheet.Cells(rng.Row, 4).Value
.List(.ListCount - 1, 2) = objSheet.Cells(rng.Row, 5).Value
.List(.ListCount - 1, 3) = objSheet.Cells(rng.Row, 6).Value
.List(.ListCount - 1, 4) = rng.Row
Set rng = objSheet.Columns("P").FindNext(After:=rng)
Loop Until strFirst = rng.Address
End If
End With
Set rng = Nothing
Set objSheet = Nothing
End Sub

Betrifft: AW: Listbox nach öffnen der Userform füllen
von: 1712081.html
Geschrieben am: 09.09.2019 18:51:50
Du siehst Deine Datei. Ich sehe sie nicht, da ich nicht auf fremde Rechner schaue.
Teste es einfach.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.

Betrifft: AW: Listbox nach öffnen der Userform füllen
von: 1712085.html
Geschrieben am: 09.09.2019 18:58:02
Hallo Dominik,
und wo soll der Suchbegriff her kommen?
Gruß
Nepumuk

Betrifft: AW: Listbox nach öffnen der Userform füllen
von: 1712517.html

Geschrieben am: 11.09.2019 17:10:47
Hallo Nepumuk,
der Suchbegriff ist wie oben in dem Code die TextBox 17. also im Prinzip den Code von dir in userform_initialize einfügen, aber das funktioniert leider nicht. und dann soll sobald die userform offen ist textbox17 in tabelle2 spalte p gesucht werden und die listbox5 gefüllt werden. ich hatte auch versucht dein makro zu aktivieren nachdem die userform sich öffnet aber das ging leider nicht.
gruß dominik

Betrifft: AW: Listbox nach öffnen der Userform füllen
von: 1712527.html
Geschrieben am: 11.09.2019 18:09:52
Hallo Dominik,
schreibst du den Suchbegriff schon vor der Show-Methode in die TextBox? Dann sollte der Code in das Activate-Event des Userforms, denn das Initialize-Event wird schon beim Ansprechen der TextBox ausgelöst.
Gruß
Nepumuk

Betrifft: AW: Listbox nach öffnen der Userform füllen
von: 1712886.html

Geschrieben am: 13.09.2019 12:53:32
Hallo Nepumuk,
mit dem folgenden Code öffnet sich die userform und die TextBox17 wird automatisch gefüllt.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim rngzelle As Range
' Doppelklick in Spalte A
If Target.Column = 1 Then
' suche in Tabelle2 Spalte A den Inhalt aus Zelle mit Doppelklick
Set rngzelle = Worksheets("Kunden").Columns(19).Find(Target.Value, LookAt:=xlWhole)
' wurde gefunden
If Not rngzelle Is Nothing Then
Cancel = True
UserForm1.TextBox1 = rngzelle.Offset(0, -17).Value & vbLf & _
rngzelle.Offset(0, -16).Value & vbLf & rngzelle.Offset(0, -11).Value & vbLf &  _
rngzelle.Offset(0, -10).Value & vbLf & rngzelle.Offset(0, -9).Value & vbLf & rngzelle.Offset(0, -8).Value
' TextBox1 = 1 Zelle rechts neben der gefundenen Zelle
UserForm1.TextBox18 = rngzelle.Offset(0, 14)
' TextBox2 = 2 Zellen rechts neben der gefundenen Zelle
UserForm1.TextBox17 = rngzelle.Offset(0, 0)
' TextBox3 = 3 Zellen rechts neben der gefundenen Zelle
UserForm1.TextBox15 = rngzelle.Offset(0, 10)
UserForm1.TextBox16 = rngzelle.Offset(0, 11)
UserForm1.TextBox11 = rngzelle.Offset(0, 8)
UserForm1.TextBox14 = rngzelle.Offset(0, 9)
UserForm1.TextBox13 = rngzelle.Offset(0, 7)
UserForm1.TextBox12 = rngzelle.Offset(0, 6)
UserForm1.TextBox24 = rngzelle.Offset(0, 13)
UserForm1.TextBox25 = rngzelle.Offset(0, 12)
UserForm1.Show
End If
End If
End Sub

Betrifft: AW: Listbox nach öffnen der Userform füllen
von: 1712959.html

Geschrieben am: 13.09.2019 15:42:24
Hallo Dominik,
wie schon geschrieben, der Code zum suchen für die ListBox muss in das Activate-Event des UserForms. Ich würde eine eigene Prozedur aus der Suchroutine machen, dann kannst du sie sowohl im Activate-Event des Userforms als auch mit dem CommandButton aufrufen.
Mir ist jetzt aufgefallen, du suchst im BeforeDoubleClick-Event der Tabelle in Spalte 19 also S. Im Userform suchst du aber in Spalte P. ???
Gruß
Nepumuk

Betrifft: AW: Listbox nach öffnen der Userform füllen
von: 1712996.html

Geschrieben am: 13.09.2019 19:26:29
Hallo Nepumuk,
sorry für die verwirrung die ich verursacht habe. ich musste das tabbelnblatt umstrukturieren deshalb hat sich die spalte geändert. leider bin ich eine absolute niete im vba code schreiben und weiß nicht so recht die der code in userform activate aussehen muss. ich wäre dir sehr dankbar wenn du mir sagen könntest wie der code auszusehen hat.
sorry nochmal und vielen dank für deine bisherige hilfe
Gruß
dominik

Betrifft: AW: Listbox nach öffnen der Userform füllen
von: 1712998.html

Geschrieben am: 13.09.2019 20:00:50
Hallo Dominik,
so:
Private Sub CommandButton1_Click()
    Call Search
End Sub

Private Sub UserForm_Activate()
    Call Search
End Sub

Private Sub Search()
    Dim rng As Range
    Dim objSheet As Worksheet
    Dim strFirst As String
    Set objSheet = Worksheets("Kunden")
    With ListBox5
        .Clear
        .ColumnCount = 5
        Set rng = objSheet.Columns(19).Find(What:=TextBox17.Value, _
            LookIn:=xlValues, LookAt:=xlWhole)
        If Not rng Is Nothing Then
            strFirst = rng.Address
            Do
                .AddItem rng.Value
                .List(.ListCount - 1, 1) = rng.Offset(0, 4).Value
                .List(.ListCount - 1, 2) = rng.Offset(0, 5).Value
                .List(.ListCount - 1, 3) = rng.Offset(0, 6).Value
                .List(.ListCount - 1, 4) = rng.Row
                Set rng = objSheet.Columns(19).FindNext(After:=rng)
            Loop Until strFirst = rng.Address
        End If
    End With
    Set rng = Nothing
    Set objSheet = Nothing
End Sub

Gruß
Nepumuk

Betrifft: AW: Listbox nach öffnen der Userform füllen
von: 1713168.html
Geschrieben am: 15.09.2019 11:41:54
Hallo Nepumuk,
es klappt super, vielen vielen dank
gruß
dominik

Excel-Beispiele zum Thema "Listbox nach öffnen der Userform füllen"
Mehrfachauswahl aus ListBox auslesen Gefilterte Daten in eine ListBox einlesen
Dateien aus Listbox auslesen und öffnen Listbox-Eintrag durch Mausbewegung markieren
ListBox-Einträge auswechseln Horizontal angeordnete Elemente in eine ListBox übernehmen
Tabellenblattnamen in eine ListBox einlesen ListBox bei Eintrag erweitern
Alle Dateien im Verzeichnis öffnen Web-Seiten mit Excel95 öffnen
Bewerten Sie hier bitte das Excel-Portal