Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Listbox nach öffnen der Userform füllen


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.

GrußformelHomepage

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

Beiträge aus dem Excel-Forum zum Thema "Listbox nach öffnen der Userform füllen"