Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1600to1604
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
VBA: ListBox nach filter neu einlesen
06.01.2018 17:53:20
Bernd
Hallo zusammen,
Hab folgendes Problem: Tabelle wird gefiltert, allerdings schaffe ich es nicht die ListBox zu aktualisieren und nur die gefilterte Tabelle einzulesen.
Wo liegt mein Fehler?
Hier mein bisheriger Code:
Private Sub cmd_Datumsfilter_Click()
Dim wks As Worksheet
Dim Datum1 As Date, Datum2 As Date
Dim Zeile
Set wks = ActiveSheet
Zeile = wks.Cells(Rows.Count, 1).End(xlUp).Row
With wks
Datum1 = tbx_Startdatum
Datum2 = tbx_Enddatum
Range("A2:J2").AutoFilter Field:=1, Criteria1:=">=" & CDbl(Datum1), Operator:=xlAnd,  _
Criteria2:="
Userbild
Office Version 2016 Pro 32bit - Windows10 Pro 64 bit
"Wenn du jemanden ohne Lächeln triffst, schenke ihm dein's!"

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: ListBox nach filter neu einlesen
06.01.2018 18:13:14
Hajo_Zi
Du kannst nicht den Bereich zuweisen, sondern jeden Wert einzeln mit Additem, Zeilenhöhe größer 0

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung....."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben,
mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Beiträge von Werner, Luc, robert und folgende lese ich nicht.
Anzeige
AW: VBA: ListBox nach filter neu einlesen
07.01.2018 14:13:55
Bernd
Hallo Hajo,
Danke für die Hilfsbereitschaft, leider bin ich nicht so fit in VBA und mir ist deine Antwort nicht ganz klar.
sondern jeden Wert einzeln mit Additem
Könntest du mir vielleicht sagen, was ich in meinem Code ändern muss?
Danke im Voraus!
Lieben Gruß aus Bremen
Bernd
AW: VBA: ListBox nach filter neu einlesen
07.01.2018 14:23:48
Hajo_Zi
lösche diese Zeile
.RowSource = "A2:J" & Zeile
und dann mein Vorschlag.
Listbox1.AddItem Cells(LoI, 1)
Listbox1.List(Listbox1.ListCount - 1, 1) = Cells(LoI, 2)
Listbox1.List(Listbox1.ListCount - 1, 2) = Cells(LoI, 3)
Gruß Hajo
Anzeige
AW: VBA: ListBox nach filter neu einlesen
07.01.2018 15:19:19
Bernd
Hallo Hajo,
habe deinen Vorschlag in den Code eingebaut, aber "LoI" war nicht deklariert und ich habe folgenden Code noch eingebaut, bekomme aber bei "AddItem" eine Fehlermeldung.
  Dim LoI As Long
LoI = wks.Cells(Rows.Count, 1).End(xlUp).Row
Wo liegt mein Fehler?
Hier das gesamte Modul:
Private Sub cmd_Datumsfilter_Click()
Dim wks As Worksheet
Dim Datum1 As Date, Datum2 As Date
Dim LoI As Long
LoI = wks.Cells(Rows.Count, 1).End(xlUp).Row
Set wks = ActiveSheet
With wks
Datum1 = tbx_Startdatum
Datum2 = tbx_Enddatum
Range("A2:J2").AutoFilter Field:=1, Criteria1:=">=" & CDbl(Datum1), Operator:=xlAnd,  _
Criteria2:="

Lieben Gruß aus Bremen
Bernd
Anzeige
AW: VBA: ListBox nach filter neu einlesen
07.01.2018 15:23:19
Hajo_Zi
Hallo Bernd,
Du möchtest also meinen Vorschlag nicht komplett umsetzen. Ich hätte vermutet da fehlt eine Prüfung der Zeilenhöhe, wie vorgeschlagen?
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.
Gruß Hajo
Anzeige
AW: VBA: ListBox nach filter neu einlesen
07.01.2018 15:47:29
Bernd
Hallo Hajo,
Du hast natürlich recht, ohne Beispielmappe sind manche Dinge nicht so leicht zu klären.
Hier meine Beispielmappe: https://www.herber.de/bbs/user/118754.xlsm
frm_Konto öffnen, unten die beiden Datumsfelder eingeben, dann auf den Button neben dem Datumsfeld kicken. Danach soll der gefilterte Bereich der Tabelle in der Listbox angezeigt werden.
Danke schon mal im Voraus!
Lieben Gruß aus Bremen
Bernd
AW: VBA: ListBox nach filter neu einlesen
07.01.2018 16:08:08
Hajo_Zi
Hallo Bernd,
Klasse Datei. Schließt man die Userform ist die Datei auch zu.
Ich kann Dir da nicht Helfen. Da ich in einer geschlossenen Datei nicht den Code bearbeiten muss und ich verändere nicht den Code um mit der Datei zu arbeiten. Es wird schon seinen Grund haben das die Datei so aufgebaut ist.
Dann noch viel Erfolg mit Deiner Datei.
Ich bin dann raus.
Gruß Hajo
Anzeige
Bitte um Hilfe, da Hajo Ziplies nicht helfen will
08.01.2018 10:15:12
Bernd
Hallo zusammen,
Da Hajo Ziplies mal wieder sagt "Ich bin mal raus", stehe ich wieder mit meinem Problem am Anfang.
Daher bitte ich andere Helfer um Hilfe!
Ich möchte in UF frm_Konto durch Eingabe in den Datumsfeldern die Tabelle Kontoauszug filtern (was auch klappt), aber ich schaffe es nicht die gefilterten Daten erneut in die Listbox einzulesen.
Also Ziel soll sein:
frm_Konto öffnen, unten die beiden Datumsfelder eingeben, dann auf den Button neben dem Datumsfeld kicken. Danach soll der gefilterte Bereich der Tabelle in der Listbox angezeigt werden. (Bitte Userform über Schließkreuz schliessen).
Für eure Hilfe bedanke ich mich im Voraus!
Lieben Gruß aus Bremen
Bernd
Hier die Mustermappe: https://www.herber.de/bbs/user/118771.xlsm
Anzeige
AW: Bitte um Hilfe, da Hajo Ziplies nicht helfen will
08.01.2018 10:44:38
Daniel
Hi
und wo genau ist da dein Problem?
nur so als Tipp:
wenn du noch am Code arbeitest, solltest du das Excelfenster nicht ausblenden, da du ja durchaus mal in die Excelmappe reinschauen musst, das macht dann vieles einfacher.
Solche Sachen baut man erst am Ende ein, wenn der Rest funktioniert.
Außerdem, so Sachen wie .Select funktionieren natürlich nicht, wenn das Excelfenster ausgeblendet ist.
Gruß Daniel
AW: Bitte um Hilfe, da Hajo Ziplies nicht helfen will
08.01.2018 10:49:39
Bernd
Hallo Daniel,
Danke für deine Tipps! Werde ich in Zukunft berücksichtigen!
und wo genau ist da dein Problem?
Das ist mein Problem:

ich schaffe es nicht die gefilterten Daten erneut in die Listbox einzulesen.
Kannst du mir dabei Helfen?
Lieben Gruß aus Bremen
Bernd
Anzeige
AW: Bitte um Hilfe, da Hajo Ziplies nicht helfen will
08.01.2018 11:59:47
Daniel
HI
in dem Fall müsstest du die Daten per Schleife und AddItem in die Listbox schreiben.
Dabei kannst du dann vorab prüfen, ob die jeweilige Zeile zu den Filtereinstellungen passt oder nicht.
(der Autofilter hilft dir dabei nicht viel).
Dazu muss natürlich erstmal die .Rowsource geleert werden:

Private Sub cmd_Datumsfilter_Click()
Dim wks As Worksheet
Dim Datum1 As Date, Datum2 As Date
Dim LoI As Long
'  LoI = wks.Cells(Rows.Count, 1).End(xlUp).Row
Set wks = ActiveSheet
With wks
Datum1 = tbx_Startdatum
Datum2 = tbx_Enddatum
End With
With ListBox1
.RowSource = ""
.ColumnCount = 10
.ColumnWidths = "2cm;2cm;3,5cm;1,7cm;1,7cm;4,4cm;4,3cm;3,9cm;3,8cm;3,5cm"
.ColumnHeads = False
.Font.Size = 8
For LoI = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(LoI, 1) >= Datum1 Then
If Cells(LoI, 1) 
Gruß Daniel
Anzeige
AW: Bitte um Hilfe, da Hajo Ziplies nicht helfen will
08.01.2018 14:00:20
Bernd
Hallo Daniel,
Ich bin dir sehr dankbar für deine Hilfe. Der Code funktioniert so wie ich es wollte. Insbesondere deine Erklärungen zum Code finde ich toll, da ich nicht wusste, dass man RowSource leeren muss.
Liebe Grüße aus Bremen
Bernd
AW: Bitte um Hilfe, da Hajo Ziplies nicht helfen will
08.01.2018 14:09:12
Daniel
naja, entweder du verknüpfst die Listbox mit einem Zellbereich (RowSource)
oder du schreibst die Daten direkt hinein (AddItem)
beides gleichzeitig geht nicht.
Gruß Daniel

125 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige