Microsoft Excel

Herbers Excel/VBA-Archiv

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

Listbox füllen

Betrifft: Listbox füllen von: Guesa
Geschrieben am: 30.08.2020 20:48:34

Hallo Forum
Erst einmal noch ein Danke schön an Werner und andere von meiner Anfrage vom 26.08. War außer Gefecht gesetzt, wie gesagt die beste Krankheit taugt nichts.
Nun ein neues Problem, sitze da schon den ganzen Tag dran, wollte mir einen Kalender zusammen bauen, jetzt habe ich das Problem, dass ich in der Listbox nur die Daten aufgelistet haben möchte wenn A3 Monat und Jahr B3 der Spalte J entsprechen. In der jetzigen Listbox werden nicht alle Daten gelistet, weil wohl Lücken in der Spalte sind, die Filterung nach Monat und Jahr krieg ich erst recht nicht hin.
Wäre eine große Hilfe wenn Ihr dafür eine Lösung hättet. Schon mal ein Danke schön

Gruß, Guesa

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

Betrifft: AW: Listbox füllen
von: GerdL
Geschrieben am: 30.08.2020 21:09:54

Moin Guesa,

sollen in die Listbox, die Daten der Spalte J, die in den Zeitraum
von A3 bis G10 fallen?

Gruß Gerd

Betrifft: AW: Listbox füllen
von: Guesa
Geschrieben am: 30.08.2020 21:57:59

Hallo Gerd
Nein, wenn A3=8(für August) dann alle Termine J die in diesem Monat liegen. Das gleiche für B3=Jahr
alle Termine aus diesem Jahr.

Gruß, Guesa

Betrifft: AW: Listbox füllen
von: Matthias L
Geschrieben am: 30.08.2020 21:12:26

Hallo,

ich vermute mal der Fehler liegt hier:
            If .Cells(lZeile, 1) = "" Then Exit For
Ab Zeile(11) stehen keine Daten mehr in Spalte(1), also verlässt Du dort die Schleife.
Das ist nur eine Vermutung, ich habs nicht getestet.

Gruß Matthias

Betrifft: AW: Listbox füllen
von: Guesa
Geschrieben am: 30.08.2020 22:01:09

Hallo Matthias
Oh habe ich wohl übersehen, aber daran liegt es wohl nicht, bin mir relativ sicher das es an den lücken in J liegt. Die müssten irgendwie raus gefiltert werden.

Gruß, Guesa

Betrifft: daran liegt es wohl nicht ... ??
von: Matthias L
Geschrieben am: 30.08.2020 22:25:09

Deine Lücken in "J" kommen aber erst ab Zeile(20)!
Da hast Du die Schleife bereits verlassen. Bei Zeile(11)!

Gruß ...

Betrifft: AW: daran liegt es wohl nicht ... ??
von: Guesa
Geschrieben am: 30.08.2020 22:42:13

Hallo Matthias
Verstehe ich jetzt nicht, Es soll doch von 2 bis Ende gelistet werden, das wird doch ausgeführt genau bis zum 12.06.2020, da ist die Liste zu Ende und die erste Lücke beginnt, danach wird doch nichts mehr angezeigt. Dann gib mal einen Tip

Gruß, Guesa

Betrifft: AW: daran liegt es wohl nicht ... ??
von: Matthias L
Geschrieben am: 30.08.2020 23:19:39

Wenn Du nicht verstehst, das Du mit:
If .Cells(lZeile, 1) = "" Then Exit For

die Spalte(1) auf leer prüfst und dann die Schleife verlässt
kann ich Dir leider nicht weiterhelfen.

Gruß ...

Betrifft: AW: daran liegt es wohl nicht ... ??
von: Werner
Geschrieben am: 30.08.2020 23:22:38

Hallo,
Private Sub UserForm_Initialize()
Dim lLetzte As Long, lZeile As Long, lLibox As Long
    
With Me.ListBox1
    .ColumnCount = 2
    .Font.Size = 10
    .ColumnWidths = "100 Pt;100 Pt"
End With

With Worksheets("vk")
    lLetzte = .Cells(Rows.Count, 10).End(xlUp).Row
    For lZeile = 2 To lLetzte
        If .Rows(lZeile).Hidden = False Then
            If .Cells(lZeile, 10) <> "" Then
                If Month(.Cells(lZeile, 10)) = .Range("A3") Then
                    If Year(.Cells(lZeile, 10)) = .Range("B3") Then
                        ListBox1.AddItem
                        ListBox1.List(lLibox, 0) = .Cells(lZeile, 10).Value
                        ListBox1.List(lLibox, 1) = .Cells(lZeile, 9).Value
                        lLibox = lLibox + 1
                    End If
                End If
            End If
        End If
    Next
End With
Gruß Werner

Betrifft: AW: daran liegt es wohl nicht ... ??
von: onur
Geschrieben am: 30.08.2020 23:23:18

1)
If .Cells(lZeile, 1) = "" Then Exit For

prüft Spalte A auf "leer", aber ab Zeile 12 steht nix mehr drin - also wird ab 12 alles übersprungen.

2) Nirgendwo in deinem Code wird geprüft, ob das Datum z.B. im Monat August und im Jahr 2020 liegt, also wird (wenn dein Code korrekt laufen würde) ALLES in die Listbox aufgenommen.
SO geht es:
https://www.herber.de/bbs/user/139929.xlsm

Betrifft: AW: daran liegt es wohl nicht ... ??
von: onur
Geschrieben am: 30.08.2020 23:42:13

Habe noch zwei Fehler gefunden.

Betrifft: AW: daran liegt es wohl nicht ... ??
von: onur
Geschrieben am: 30.08.2020 23:42:45

Habe noch zwei Fehler gefunden.
https://www.herber.de/bbs/user/139930.xlsm

Betrifft: AW: Listbox füllen
von: Guesa
Geschrieben am: 31.08.2020 20:51:18

Hallo Werner und Onur
Danke für Eure die Hilfe

Gruß, Guesa

Betrifft: Gerne u. Danke für die Rückmeldung. o.w.T.
von: Werner
Geschrieben am: 31.08.2020 21:34:15



Beiträge aus dem Excel-Forum zum Thema "Listbox füllen"