Microsoft Excel

Herbers Excel/VBA-Archiv

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

Listbox RowSource mit Autofilter

Betrifft: Listbox RowSource mit Autofilter von: Bernd Kiehl
Geschrieben am: 10.07.2013 19:44:21

Hallo zusammen,

krieg es nicht auf die Reihe und zwar die Listbox1.RowSource soll den Autofilter berücksichtigen.

Hier mein Code:

   With ListBox1
.ColumnCount = 5
.ColumnWidths = "1,5cm;3,5cm;2,5cm;3cm;3,5cm"
.ColumnHeads = True
ListBox1.RowSource = "Plan!A2:E721"
End With

Wie muss ich meinen Code anpassen und wo???

Vielen Dank im Voraus!!!

Gruß
Bernd

  

Betrifft: AW: Listbox RowSource mit Autofilter von: Hajo_Zi
Geschrieben am: 10.07.2013 19:48:13

Hallo Bernd,

Du must die Liste durchgehen und jeden Wert einzeln zuweisen.

GrußformelHomepage


  

Betrifft: AW: Listbox RowSource mit Autofilter von: Bernd Kiehl
Geschrieben am: 10.07.2013 23:53:49

Hallo Hajo,

meinst du mit Liste die Tabelle, in der sich die Daten befinden?

"jeden Wert einzeln zuweisen." Damit kann ich auch nichts anfangen. Siehe mein Level "VBA bescheiden".

Gibt es denn nun eine Möglichkeit die Zeile "Listbox1.RowSource ...." so zu verändern, dass die Listbox nur die Daten, die gefiltert sind, anzeigt und nicht wie jetzt "alle".???

Und wenn Ja, wie muss ich meinen Code verändern?

Gruß
Bernd


  

Betrifft: AW: Listbox RowSource mit Autofilter von: Hajo_Zi
Geschrieben am: 11.07.2013 09:28:31

Hallo Bernd,

Nein die gibt es nicht. Die Überschrift ist dann auch nicht mehr möglich.
Listbox.Additem cells(Loi,1)
Gruß Hajo


  

Betrifft: AW: Listbox RowSource mit Autofilter von: Bernd Kiehl
Geschrieben am: 11.07.2013 10:08:16

Hallo Hajo,

wenn ich auf die Überschrift verzichte, wie muss mein Code geändert werden?

Deine Zeile hatte ich eingebaut und bekomme bei "Loi" Fehlermeldung.

Gruß
Bernd


  

Betrifft: AW: Listbox RowSource mit Autofilter von: Hajo_Zi
Geschrieben am: 11.07.2013 10:28:11

das liegt wohl daran, das Du keine Schleife mit LoI gemacht hast.
Ich baue keine Datei nach, die Zeit hat schon jemand investiert.
Ein Nachbau sieht bestimmt anders aus als das Original.
Ein Link zur Datei wäre nicht schlecht.

Gruß Hajo


  

Betrifft: AW: Listbox aus gefiltertem Bereich von: Gerd L
Geschrieben am: 10.07.2013 20:16:30

Hallo Bernd,

kannst du auf die Spaltenüberschriften in der Listbox verzichten?

Gruß Gerd


  

Betrifft: AW: Listbox aus gefiltertem Bereich von: Bernd Kiehl
Geschrieben am: 10.07.2013 23:46:23

Hallo Gerd,

zu deiner Frage ein klares nein.

Gruß
Bernd


  

Betrifft: HIER IST DIE LÖSUNG !!! von: Bernd Kiehl
Geschrieben am: 11.07.2013 10:32:41

Hallo zusammen,

gerade drüber gestolpert.

http://www.mrexcel.com/forum/excel-questions/438711-setting-userform-listbox-dynamic-range.html

Vorletzter Beitrag.
Code:

     With Sheet2
        ListBox1.RowSource = Range(.Range("A4"), .Cells(Rows.Count, "A").End(xlUp)).Address(, ,  _
, True)
    End With

Gruß
Bernd


  

Betrifft: AW: HIER IST DIE LÖSUNG !!! von: Luschi
Geschrieben am: 11.07.2013 12:09:03

Hallo Bernd,

was meinst Du genau mit 'HIER IST DIE LÖSUNG !!!'. Bei mir werden dann immer alle Datensätze in der Listbox angezeicht und nicht nur die gefilterten.
Ich habe Dir mal ein Beispiel gemacht und nutze dazu das in Excel 2003 eingeführte Objekt 'ListObject'.
Damals wurde es noch als Liste bezeichnit, seit E_2007 aber so: 'Als Tabelle formatieren'
Die anderen Infos entnimm der Datei:

https://www.herber.de/bbs/user/86311.zip

Gruß von Luschi
aus klein-Paris

PS: Wegen der fehlenden Spaltenüberschriften melde ich mich noch mal heute Abend.


  

Betrifft: AW: HIER IST DIE LÖSUNG !!! von: Bernd Kiehl
Geschrieben am: 11.07.2013 18:02:57

Hallo Luschi,

hier mein Code der über Button gestartet wird ....

Private Sub cmdTilgungsplan_Click()
   Application.ScreenUpdating = False
   Sheets("Tilgungsplan").Select
   Selection.AutoFilter
   ActiveSheet.Range("$A$1:$E$721").AutoFilter Field:=1, Criteria1:="<=" & Sheets("Baufi").Range("L2"), _
       Operator:=xlAnd
   
   With ListBox1
      .ColumnCount = 5
      .ColumnWidths = "1,5cm;3,5cm;2,5cm;3cm;3,5cm"
      .ColumnHeads = True
      With Sheets("Tilgungsplan")
         ListBox1.RowSource = Range(.Range("A2"), .Cells(Rows.Count, "E").End(xlUp)).Address(, , , True)
      End With
   End With
   Application.ScreenUpdating = True
End Sub
Gruß
Bernd


  

Betrifft: AW: HIER IST DIE LÖSUNG !!! von: Luschi
Geschrieben am: 12.07.2013 08:32:19

Hallo Bernd,

ich habe mir mal Deinen angeblichen Lösungsvorschlag näher angesehen.
Bei mir wird zwar der Filter aktiviert, aber in der Listbox des Formulars werden alle Datensätze angezeigt!
Deine Forderung aus dem 1. Beitrag war aber:Listbox1.RowSource soll den Autofilter berücksichtigen

Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: HIER IST DIE LÖSUNG !!! von: Bernd Kiehl
Geschrieben am: 12.07.2013 16:25:44

Hallo Luschi,

mit dem Code des letzten Beitrags, hier die aktuelle Codezeile:

Criteria1:="<=" & Sheets("Baufi").Range("L2"), 
...also, wenn ich in der UF die Darlehenslaufzeit ("L2") von 120 Monaten auf 240 ändere und den Datensatz an Tabelle "Baufi" übergebe, befindet sich in "Zelle L2" der geänderte Wert. Und danach rufe ich die Listbox über Button erneut auf. Das war's.

Gruß
Bernd


 

Beiträge aus den Excel-Beispielen zum Thema "Listbox RowSource mit Autofilter"