Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
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

VBA suchen und in Listbox ausgeben


Betrifft: VBA suchen und in Listbox ausgeben von: Markus
Geschrieben am: 27.07.2017 09:36:56

Hallo zusammen,
ich habe schon einige Beiträge hier gefunden aber leider noch nichts passendes.
Ich möchte folgendes lösen:
Ich habe eine User Form, in dieser ist ein Text Feld, ein Suchen Button und eine Listbox.
Wenn ich den Suchen Button drücke soll der Text der im Textfeld eingegeben ist in einer Tabelle in mehreren Spalten gesucht werden und alle Ergebnisse in der Listbox angezeigt werden und zwar die kompletten Spalten.
Danke schon im Voraus für eure Hilfe!
Gruß
Markus

  

Betrifft: AW: VBA suchen und in Listbox ausgeben von: Markus
Geschrieben am: 27.07.2017 09:41:28

https://www.herber.de/bbs/user/115075.xlsm
hier noch die Beispieldatei


  

Betrifft: AW: VBA suchen und in Listbox ausgeben von: Matthias L
Geschrieben am: 27.07.2017 10:02:29

Hallo

Was soll man mit einer Bsp-Datei die nicht den realen Bedingungen entspricht?


  • chkPart gibts nicht.

  • Sheets("Daten") gibt es nicht

  • einzulesende Werte gibt es auch nicht.



Gruß Matthias


  

Betrifft: AW: VBA suchen und in Listbox ausgeben von: Markus
Geschrieben am: 31.07.2017 06:17:48

Hallo Mathias,
ok dann hier ein neuer Versuch.....
Ich habe im Tabellenblatt "Suchen" einen Button mit dem ich die UserForm "Suchfunktion" öffne.^
Dort habe ich eine Textbox, einen Command Button und eine Listbox.
Wenn ich in der Textbox einen Begriff eingebe und anschliessend den Suchen Button drücke soll in dem Tabellenblatt "Daten" die Spalten A bis F nach diesem Begriff durchsucht werden und einem Treffer die komplette Zeile in der Listbox ausgegeben werden.

https://www.herber.de/bbs/user/115140.xlsm

VG
Markus


  

Betrifft: AW: VBA suchen und in Listbox ausgeben von: Crazy Tom
Geschrieben am: 31.07.2017 07:35:26

Hallo

das könnte so aussehen

https://www.herber.de/bbs/user/115141.xlsm

da werden jetzt immer 2 Einträge angezeigt wenn nach der Stadt gesucht wird
du solltest es auf 1 Suchspalte begrenzen

MfG Tom


  

Betrifft: AW: VBA suchen und in Listbox ausgeben von: Markus
Geschrieben am: 31.07.2017 08:16:57

Hallo Tom,
vielen Dank, genau so wollte ich das haben!
Aber warum sollte ich es auf eine Suchspalte begrenzen?
Ich müsste sogar in den Spalten A bis H suchen und hab den Code umgeschrieben.
Dann findet es es zwar die Zeilen und schreibt sie in die Listbox aber die letzten beiden Spalten werden nicht angezeigt, was habe ich falsch gemacht?

Option Explicit

' Steuerelementer des UF
' Textbox - Name = txtSearch
' Listbox - Name = Listbox1
' CheckBox - Name = chkPart
' CheckBox - Name = chkCase
' CommandButton - Name = cmdSearch
' CommandButton - Name = cmdClose

Private Sub cmdClose_Click()
Unload Me
End Sub

Private Sub cmdSearch_Click()
    Dim c As Range
    Dim rngBereich As Range
    Dim lngAnzahl As Long
    Dim strFirst As String
    With Sheets("Daten")
        Set rngBereich = .Columns("A:H")
        Set c = rngBereich.Find(txtSearch, LookIn:=xlValues, lookat:=xlPart)
        If Not c Is Nothing Then
            strFirst = c.Address
            Do
                ListBox1.AddItem .Cells(c.Row, 1)
                lngAnzahl = ListBox1.ListCount
                ListBox1.List(lngAnzahl - 1, 1) = .Cells(c.Row, 2)
                ListBox1.List(lngAnzahl - 1, 2) = .Cells(c.Row, 3)
                ListBox1.List(lngAnzahl - 1, 3) = .Cells(c.Row, 4)
                ListBox1.List(lngAnzahl - 1, 4) = .Cells(c.Row, 5)
                ListBox1.List(lngAnzahl - 1, 5) = .Cells(c.Row, 6)
                ListBox1.List(lngAnzahl - 1, 6) = .Cells(c.Row, 7)
                ListBox1.List(lngAnzahl - 1, 7) = .Cells(c.Row, 8)
                Set c = rngBereich.FindNext(c)
            Loop While Not c Is Nothing And c.Address <> strFirst
        End If
    End With
End Sub

Private Sub TextBox1_Change()

End Sub
'
Private Sub txtSearch_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'   If KeyCode = 13 Then cmdSearch_Click
'End Sub
Private Sub UserForm_Initialize()
    With ListBox1
        .Clear
        .ColumnCount = 6
        .ColumnWidths = "75;75;75;75;75;75"
    End With
End Sub



  

Betrifft: AW: VBA suchen und in Listbox ausgeben von: Crazy Tom
Geschrieben am: 31.07.2017 08:59:08

Hallo

dann schau doch mal was im

Userform_initialize()

steht

da werden der Listbox nur 6 Spalten zugewiesen
das musst du dann entsprechend ändern genau wie die Spaltenbreite
pass nur auf dass du nicht über 10 Spalten hinausgehst
das verträgt AddItem nämmisch nisch ;-)

MfG Tom


  

Betrifft: AW: VBA suchen und in Listbox ausgeben von: Markus
Geschrieben am: 31.07.2017 09:49:08

Hallo Tom,
oh jetzt weiß ich auch was das bedeutet und die 75 der Abstand ist.
Ich habe es angepasst und funktioniert.
Vielen Dank!!!!
Gruß
Markus


Beiträge aus den Excel-Beispielen zum Thema "VBA suchen und in Listbox ausgeben"