Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-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

Listbox mit mehreren Spalten


Betrifft: Listbox mit mehreren Spalten von: Gerald Jermendy
Geschrieben am: 26.08.2019 12:59:19

Grüß euch

Es ist zum Verzweifeln - für diese Suche gibt es Millionen Treffer. Ich versuche mehrere Spalten in einer Listbox anzuzeigen. Die erste Spalte zeigt er mir ja an aber die anderen Spalten werden nicht angezeigt...

Der Code der wenigstens teilweise funktioniert, sieht so aus:

Dim myLookAt As XlLookAt, strFirstAddress As String, rngFound As Range

If Len(Suchen_Text.Text) = 0 Then
MsgBox "Nix zu Suchen"
Exit Sub
End If

With ActiveSheet.UsedRange

Set rngFound = .Find(what:=Suchen_Text.Text, LookIn:=xlValues)
' If rngFound Is Nothing Then
' MsgBox "Nix da"
' Exit Sub
' End If

ListBox1.Clear
strFirstAddress = rngFound.Address(0, 0)
Do

ListBox1.AddItem rngFound.Address("A" & InI)
ListBox1.List(ListBox1.ListCount - 1, 1) = rngFound.Text
Set rngFound = .FindNext(rngFound)

Loop Until rngFound.Address(0, 0) = strFirstAddress

End With
End Sub

Jetzt habe ich da schon einiges rumgebastelt, aber außer Fehlern habe ich nichts erhalten. Wo sage ich VBA, dass er die gesuchten Spalten auch mitschreiben soll??
Spalten und Spaltenbreite habe ich in den Eigenschaften schon eingetragen.

Ich wäre euch echt dankbar wenn ihr mir hier auf die Sprünge helfen könntet....

danke im Voraus

GJ

  

Betrifft: AW: Listbox mit mehreren Spalten von: Rudi Maintaire
Geschrieben am: 26.08.2019 13:19:49

Hallo,
Rechtsklick auf die LBx, Eigenschaften und Columncount auf 2 setzen.

Gruß
Rudi


  

Betrifft: AW: Listbox mit mehreren Spalten von: Gerald Jermendy
Geschrieben am: 26.08.2019 15:02:20

Danke Rudi, das war es aber nicht. Denn das hatte ich schon eingestellt. Es wird immer nur die erste Spalte angezeigt.....


  

Betrifft: AW: Listbox mit mehreren Spalten von: Torsten
Geschrieben am: 26.08.2019 15:12:37

Hallo Gerald,
du fuellst ja auch hier die Listbox nur mit einer Spalte.

ListBox1.AddItem rngFound.Address("A" & InI)
ListBox1.List(ListBox1.ListCount - 1, 1) = rngFound.Text
Set rngFound = .FindNext(rngFound)

Also kann auch nur eine Spalte angezeigt werden. Und das ist hier auch noch die 2. Spalte, da bei Listbox die Spaltenzahl bei 0 anfaengt.


  

Betrifft: AW: Listbox mit mehreren Spalten von: Torsten
Geschrieben am: 26.08.2019 15:24:37

Da wir nicht wissen, was du ausser der gefundenen Zelle noch anzeigen willst, mal so aus dem Bauch raus. Ich nehme mal an, dass du z.B. die zelle rechts neben der gefundenen mit anzeigen willst:

ListBox1.AddItem rngFound.Address("A" & InI)
ListBox1.List(ListBox1.ListCount - 1, 0) = rngFound.Text
ListBox1.List(ListBox1.ListCount - 1, 1) = rngFound.Offset(0, 1).Text
Set rngFound = .FindNext(rngFound)

Gruss Torsten


  

Betrifft: AW: Listbox mit mehreren Spalten von: Gerald Jermendy
Geschrieben am: 26.08.2019 15:24:47

Aha??? Danke Torsten - Aber damit bin ich auch schon am Ende mit meinem VBA-Latein. Ich hab mir das nur zusammenkopiert da ich kein wirklicher Programmierer bin. Ich bin ja sehr weit gekommen - weiter als ich es je geglaubt hab. Aber hier steige ich aus.
Wie kann ich eine zweite Spalte befüllen? Es tut mir leid, dass ich hier etwas planlos bin....
eine zweite Zeile zu schreiben bringt nichts. Brauche ich hier zuerst eine weitere Variable für das Befüllen der zweiten Spalte?
Danke
lg
Gerald


  

Betrifft: AW: Listbox mit mehreren Spalten von: Torsten
Geschrieben am: 26.08.2019 15:29:13

Hallo,

siehe meinen 2. Post. Es waere aber auch einfacher, wenn du mal eine Beispieldatei hochlaedst, die genauso aufgebaut ist wie deine Originale mit deiner Userform und Listbox und welche Zellen du genau in der Listbox anzeigen moechtest als Beispieldateien in der Tabelle.

Gruss Torsten


  

Betrifft: AW: Listbox mit mehreren Spalten von: Gerald Jermendy
Geschrieben am: 26.08.2019 15:51:18

Das Problem ist, dass ich, wenn mehrere Treffer angezeigt werden (zum Beispiel ich suche "Maier") immer nur einen Maier links bei den Daten angezeigt bekomme. In der Listbox stehen aber 5 Maier und eben leider keine MA-Nummer oder Vorname damit ich auch den richtigen Maier auswählen kann...
Ich hoffe nur, dass ich das nicht zu kryptisch erklärt habe....


  

Betrifft: AW: Listbox mit mehreren Spalten von: Gerald Jermendy
Geschrieben am: 26.08.2019 15:45:23

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

Danke Torsten - ich habe eine Datei mal anonymisiert. Oben gibt es einen Button Menu. Mitarbeiter suchen und dann "alle Treffer anzeigen". Dann verstehst du ziemlich sicher mein Problem :-)
Danke dir.


  

Betrifft: AW: Listbox mit mehreren Spalten von: Gerald Jermendy
Geschrieben am: 26.08.2019 15:47:01

Hab vergessen dass da ein Passwort drauf ist beim Öffnen: Tollhaus1#


  

Betrifft: AW: Listbox mit mehreren Spalten von: Torsten
Geschrieben am: 26.08.2019 15:53:11

Hallo nochmal,

ich verstehe, was du erreichen willst. Frage ist nun, welche Spalten moechtest du angezeigt bekommen? Ich nehme an, es wird nach dem Namen gesucht?


  

Betrifft: AW: Listbox mit mehreren Spalten von: Gerald Jermendy
Geschrieben am: 27.08.2019 07:27:12

Guten Morgen Torsten,

Ja genau. Ich brauche eigentlich Name, Vorname und speziell die Mitarbeiternummer damit mir kein Fehler bei einer Änderung unterläuft und ein falscher Datensatz überschrieben wird. Durch einen Doppelklick in der Listbox kann ich ja den richtigen Datensatz dann auf der linken Seite aufrufen.

Aber an diesem Problem bin ich gescheitert. Ich bin auch sicher, dass das viel schöner programmiert werden könnte (und vor Allem kürzer....)

Danke übrigens dafür, dass du dir das überhaupt ansiehst. Denn ich weiß, was bei so etwas an Zeit drauf geht.....

lg

Gerald


  

Betrifft: AW: Listbox mit mehreren Spalten von: Torsten
Geschrieben am: 27.08.2019 07:37:33

Hallo Gerald,

sorry konnte gestern nicht mehr weiter machen. Werde heute im Laufe des Tages nochmal reinschauen. Bitte etwas Geduld.

Gruss Torsten


  

Betrifft: AW: Listbox mit mehreren Spalten von: Torsten
Geschrieben am: 27.08.2019 09:07:39

Also und wieder hallo Gerald,

hier mal der Code fuer den Button "Alle Treffer anzeigen". Damit wird in der Spalte mit den Nachnamen gesucht und weitergesucht. Also kannst du jetzt nur nach den Nachnamen suchen. Hoffe, das ist ok. Ich habe die Spaltenanzahl und Breite direkt im Code festgelegt. Kannst du ja aendern, wenn noetig. Denke, jetzt kommst du weiter?
Die Anzeige der Daten mit dem Doppelklick auf den jeweiligen Eintrag wirst du sicher hinkriegen?

'ALLE TREFFER IN LISTBOX ANZEIGEN

Private Sub Alle_Treffer_LB_Click()
'----------

If Len(Suchen_Text.Text) = 0 Then
    MsgBox "Nix zu Suchen"
    Exit Sub
End If

Dim Suchbegriff  As Variant
Dim Zelle        As Range
Dim FundAdr      As String
Dim iLiBox       As Integer
 
   Suchbegriff = Suchen_Text
   
   Set Zelle = Sheets("Mitarbeiter").Columns(4).Find(Suchbegriff)
   
   ListBox1.ColumnCount = 3
   ListBox1.ColumnWidths = "6cm;6cm;3cm"
 
   If Not Zelle Is Nothing Then
      FundAdr = Zelle.Address
      Do
         ListBox1.AddItem " "
         ListBox1.List(iLiBox, 0) = Sheets("Mitarbeiter").Cells(Zelle.Row, 4)
         ListBox1.List(iLiBox, 1) = Sheets("Mitarbeiter").Cells(Zelle.Row, 5)
         ListBox1.List(iLiBox, 2) = Sheets("Mitarbeiter").Cells(Zelle.Row, 8)
         iLiBox = iLiBox + 1
         Set Zelle = Sheets("Mitarbeiter").Range("D:D").FindNext(Zelle)
      Loop While Not Zelle Is Nothing And Zelle.Address <> FundAdr
    Else
      MsgBox Suchbegriff & " wurde nicht gefunden!", 64, "    Name ist nicht vorhanden."
   End If
   
End Sub

Gruss Torsten


  

Betrifft: AW: Listbox mit mehreren Spalten von: Gerald Jermendy
Geschrieben am: 27.08.2019 09:31:40

Wow - danke dir. Ist genau so wie ich es haben wollte. Wirklich Super. Warum der Doppelklick jetzt nicht mehr funktioniert, weiß ich zwar nicht, aber ich werd halt wieder daran rumbasteln und versuchen es selbst hinzubekommen.
lg

Gerald


  

Betrifft: AW: Listbox mit mehreren Spalten von: Torsten
Geschrieben am: 27.08.2019 10:16:45

Naja beim Doppelklick steht nicht wirklich was drin, was funktionieren koennte.
Hier mal ein Beispiel. Musst du noch erweitern, mit allem was eingetragen werden soll.

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

Dim rng As Range

If ListBox1.ListIndex >= 0 Then
    With ListBox1
        Set rng = Sheets("Mitarbeiter").Columns(8).Find(.Column(2, .ListIndex))
    End With
    If Not rng Is Nothing Then
        Name_Text = rng.Offset(0, -4)
        Vorname_Text = rng.Offset(0, -3)
        ' usw., hier halt alles auflisten, was ausgefuellt werden soll
    End If
End If

End Sub

Gruss Torsten


  

Betrifft: AW: Listbox mit mehreren Spalten von: Gerald Jermendy
Geschrieben am: 27.08.2019 11:19:55

Super - aber jetzt weiß ich gar nicht wie ich dir danken kann..... Vom Danke allein lebt ja auch kein Mensch.... Und du bekommst deine Zeit auch nicht geschenkt. Hast du eine Email-Adresse an die ich dir etwas senden kann?
lg

Gerald


  

Betrifft: AW: Listbox mit mehreren Spalten von: Torsten
Geschrieben am: 27.08.2019 11:26:54

Hallo Gerald,

das ist nett von dir gedacht. Aber ist schon ok. Hab dir ja nur Denkanstoesse geliefert. Ich lebe nicht in Deutschland. Wie koenntest du mir per email was schicken??? Hab das noch nie angeschaut. Da bin ich Neuling ;-)
wetzel.torsten@hotmail.com


  

Betrifft: AW: Listbox mit mehreren Spalten von: Gerald Jermendy
Geschrieben am: 27.08.2019 12:12:14

Darf ich fragen in welchem Land du lebst? :-)


  

Betrifft: AW: Listbox mit mehreren Spalten von: Gerald Jermendy
Geschrieben am: 27.08.2019 12:21:47

Ist eigentlich egal - ich hab es auch so hinbekommen. Schau mal in dein Email - jetzt siehst du wie man per email etwas schicken kann :-)

Danke nochmal


Beiträge aus den Excel-Beispielen zum Thema "Listbox mit mehreren Spalten"