Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Listbox

Forumthread: Listbox

Listbox
02.05.2020 13:21:49
Achim
Hallo und guten Tag,
Wer kann mal schauen?
Ich habe eine Userform3. In der Userform befindet sich meine Listbox4. Die Daten werden aus der Tabelle Fahrstunden eingelesen.
With UserForm3.ListBox4
.ColumnCount = 15 'Anzahl der Spalten
.ColumnHeads = True 'Kopfzeile festgelegt
.RowSource = "Fahrstunden!A4:O627" 'Daten
.ColumnWidths = "2cm;2cm;4cm;2cm;2cm;2cm;2cm;2cm;2cm;2cm;2cm;2cm;6cm;2cm;2cm" 'Spaltenbreiten der einzelnen Zeilen
.ListIndex = .ListCount - 1 'letzte belegte Zelle
End With
Der auszulesende Bereich ist fest definiert. Siehe mein Code. Das Problem ist es kommen weitere Datensätze hinzu. Nun möchte ich den auszulesenden Bereich automatisch anpassen lassen.
Dazu habe ich bei Herber etwas gefunden und weiß allerdings nicht wie ich diesen Code auf meine Bedürfnisse anpassen kann. Wer blickt da durch?
ClassModule: Tabelle1
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim iRow As Integer
If Target.Column  1 Or Target.Row = 1 Then Exit Sub
iRow = Cells(Rows.Count, 1).End(xlUp).Row
ListBox1.ListFillRange = Range("A2:A" & iRow).Address
End Sub
Danke Gruß Achim
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox
02.05.2020 13:37:45
Mullit
Hallo,
probier mal so, Rechtsklick auf den TabReiter Deiner Tabelle 'Fahrstunden', dann Klick auf Code anzeigen, dort einfügen:
Option Explicit
'In das Klassenmodul Deiner Tabelle 'Fahrstunden'
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngRow As Long
If Target.Row = 1 Then Exit Sub
lngRow = Cells(Rows.Count, 1).End(xlUp).Row
UserForm3.ListBox4.List() = Range("A4:O" & lngRow).Value
End Sub

Gruß, Mullit
Anzeige
AW: Listbox
02.05.2020 13:59:10
Achim
Hallo Mullit,
Danke für die Unterstützung. Bin deinen Anweisungen gefolgt. Eine weiter ergänzende Frage. Muss ich an dem Code noch etwas anpassen?
UserForm Initialize ()
With UserForm3.ListBox4
.ColumnCount = 15 'Anzahl der Spalten
.ColumnHeads = True 'Kopfzeile festgelegt
.RowSource = "Fahrstunden!A4:O627" 'Daten
.ColumnWidths = "2cm;2cm;4cm;2cm;2cm;2cm;2cm;2cm;2cm;2cm;2cm;2cm;6cm;2cm;2cm" 'Spaltenbreiten der einzelnen Zeilen
.ListIndex = .ListCount - 1 'letzte belegte Zelle
End With
Anzeige
AW: Listbox
02.05.2020 16:06:48
Mullit
Hallo,
ja allerdings, Dein neuer Bereich muß ja immer neu eingelesen werden, also mach mal so:
Private Sub UserForm_Initialize()
Dim lngRow As Long
With Worksheets("Fahrstunden")
lngRow = .Cells(.Rows.Count, 1).End(xlUp).Row
End With
With UserForm3.ListBox4
.ColumnCount = 15 'Anzahl der Spalten
.ColumnHeads = True 'Kopfzeile festgelegt
.List() = Worksheets("Fahrstunden").Range("A4:O" & lngRow).Value
.ColumnWidths = "2cm;2cm;4cm;2cm;2cm;2cm;2cm;2cm;2cm;2cm;2cm;2cm;6cm;2cm;2cm" ' _
Spaltenbreiten der einzelnen Zeilen
.ListIndex = .ListCount - 1 'letzte belegte Zelle
End With
End Sub

Gruß, Mullit
Anzeige
;

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