Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Letzter Eintrag in Listbox anzeigen

Forumthread: Letzter Eintrag in Listbox anzeigen

Letzter Eintrag in Listbox anzeigen
06.01.2003 14:16:52
Michael
Hallo zusammen,


ich fülle die RowSource einer Listbox mit folgendem Code:

' 'RowSource für Listbox wird gefüllt
'
For Each c In Sheets("Daten").Range("K12:K200")
If c.Value = "" Then

c.Value = such
'Set eintr = c.Offset(1, 0)
' eintr.Value = such

Set eintr2 = c.Offset(0, 1) 'Sheets("Daten").Range("L11").End(xlDown).Offset(1, 0)
eintr2.Value = txtName.Value

Set eintr2 = c.Offset(0, 2) 'Sheets("Daten").Range("M11").End(xlDown).Offset(1, 0)
eintr2.Value = txtStck.Value
Exit For
End If

Next c


Wie kann ich es machen, dass mir bei jedem Schleifendurchlauf immer der letzte Eintrag in der Listbox angezeigt wird?
Kann ich das mit einer Eigenschaft der Listbox einstellen?

Vielen Dank im voraus


Michael

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Letzter Eintrag in Listbox anzeigen
06.01.2003 14:28:59
andre
hallo michael,
wo soll der eintrag angezeigt werden?
gruss andre
Re: Letzter Eintrag in Listbox anzeigen
06.01.2003 14:34:28
Michael
Hallo Andre,

vielen Dank für Deine schnelle Antwort.

Ich möchte den letzten Eintrag in der Listbox angezeigt haben.
Die Listbox ist von der Größe her ziemlich kleine, d.h. ich muß wenn ich den letzten Eintrag sehen will immer nach unten scrollen.

Die Listbox müßte sich also am Ende der Schleife selbstständig bis zum letzten Eintrag nach unten scrollen.

Gruß

Michael

Anzeige
ListBox1.ListIndex = xxx
06.01.2003 17:11:51
andre
hallo michael,
antwort hat diesmal leider etwas länger gedauert.
es geht mit folgendem code:
listbox z.b. mit 10 elementen, anzeige bei aufruf des userform

wenn deine listbox erst im laufe der anzeige des userform gefüllt wird, kannst du die zeile in den code hängen, der die listbox füllt. ist vorher nicht klar, wieviele elemente drin stehen, dann über

ListBox1.ListIndex = ListBox1.ListCount - 1

gruss andre

Anzeige
Re: ListBox1.ListIndex = xxx
06.01.2003 17:52:37
Michael
Hallo Andre,

nochmals Danke für Deine Antwort.

Dein Code funktioniert einwandfrei. Doch habe ich die Rowsource
der Listbox so groß dimensioniert, dass 200 Zeilen reinpassen.
Mit Deinem Code wird immmer die letzte Zeile der RowSource angesprochen.
Die ist aber meistens leer, so dass ich wieder nach oben scrollen muß, um den letzten Eintrag zu finden.

Im Code müßte also stehen, dass die Listbox nur bis zum letzten Eintrag der RowSource runterscrollt. Ich weiß nicht, ob das überhaupt möglich ist.

Wenn Du vielleicht noch eine Idee hättest ?

Auf jeden Fall vielen Dank für Deine Bemühungen am Feiertag

Michael

Anzeige
Re: ListBox1.ListIndex = xxx
06.01.2003 19:39:53
andre
hallo michael,
auch wieder 2 möglichkeiten, aber auf einer grundlage:
- feststellen, welcher bereich belegt ist
Zeile = Cells(Rows.Count, 1).End(xlUp).Row
1 steht für spalte a
unter dem belegten bereich steht nichts mehr
a) beim aufruf des userform index einstellen

gruss andre
Anzeige
Re: ListBox1.ListIndex = xxx
07.01.2003 10:20:56
Michael
Hallo Andre,

mit Verspätung nochmals vielen Dank für Deine Hilfe.

Jetzt geht's.

Michael

;
Anzeige

Infobox / Tutorial

Letzter Eintrag in Listbox anzeigen


Schritt-für-Schritt-Anleitung

Um den letzten Eintrag in einer VBA Listbox anzuzeigen, kannst du folgenden Code verwenden. Dieser Code setzt den ListIndex der Listbox auf den letzten gefüllten Eintrag:

Dim letzteZeile As Long
letzteZeile = Cells(Rows.Count, 1).End(xlUp).Row ' Bestimme die letzte belegte Zeile
ListBox1.ListIndex = letzteZeile - 1 ' Setze den ListIndex auf die letzte belegte Zeile

Fülle die RowSource der Listbox wie folgt:

For Each c In Sheets("Daten").Range("K12:K200")
    If c.Value = "" Then
        c.Value = such
        c.Offset(0, 1).Value = txtName.Value
        c.Offset(0, 2).Value = txtStck.Value
        Exit For
    End If
Next c

Rufe den Code zum Setzen des ListIndex am Ende der Schleife auf, um sicherzustellen, dass der letzte Eintrag immer angezeigt wird.


Häufige Fehler und Lösungen

Ein häufiges Problem besteht darin, dass der ListIndex auf eine leere Zeile zeigt. Das passiert, wenn die RowSource größer dimensioniert ist, als die tatsächlich gefüllten Zeilen. Um dies zu beheben, stelle sicher, dass du den ListIndex nur auf die belegten Zeilen setzt, wie im vorherigen Abschnitt beschrieben.

Wenn du immer noch nach oben scrollen musst, überprüfe, ob die Range für Cells korrekt ist und dass du die richtige Spalte angibst.


Alternative Methoden

Eine weitere Möglichkeit, den letzten Eintrag anzuzeigen, ist die Verwendung des ListBox-Events. Du kannst den ListIndex im UserForm_Initialize-Event setzen:

Private Sub UserForm_Initialize()
    ' Fülle die Listbox hier
    Call FuelleListbox
    ' Setze den ListIndex auf den letzten Eintrag
    ListBox1.ListIndex = ListBox1.ListCount - 1
End Sub

Diese Methode sorgt dafür, dass der letzte Eintrag direkt beim Öffnen des UserForms angezeigt wird.


Praktische Beispiele

Hier ein praktisches Beispiel zur Verwendung der Listbox in einem UserForm:

  1. Erstelle ein UserForm mit einer Listbox (ListBox1) und zwei Textfeldern (txtName, txtStck).
  2. Füge den folgenden Code in das UserForm ein:
Private Sub btnHinzufuegen_Click()
    Dim c As Range
    For Each c In Sheets("Daten").Range("K12:K200")
        If c.Value = "" Then
            c.Value = such
            c.Offset(0, 1).Value = txtName.Value
            c.Offset(0, 2).Value = txtStck.Value
            Exit For
        End If
    Next c
    ListBox1.ListIndex = ListBox1.ListCount - 1 ' Letzten Eintrag anzeigen
End Sub
  1. Damit wird jeder neue Eintrag direkt in die Listbox eingefügt und der letzte Eintrag angezeigt.

Tipps für Profis

  • Nutze With-Anweisungen, um deinen Code effizienter zu gestalten.
  • Achte darauf, dass deine Daten in den Zellen ordentlich strukturiert sind, um fehlerhafte Einträge zu vermeiden.
  • Experimentiere mit der ListCount-Eigenschaft, um dynamisch mit der Anzahl der Einträge in der Listbox zu arbeiten.

FAQ: Häufige Fragen

1. Wie kann ich die Listbox automatisch scrollen lassen?
Du kannst den ListIndex der Listbox auf den letzten Eintrag setzen, was die Listbox dazu bringt, automatisch zu scrollen.

2. Was mache ich, wenn die Listbox leer ist?
Überprüfe den Code, der die Listbox füllt, und stelle sicher, dass die Range korrekt angegeben ist und tatsächlich Daten enthält.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige