Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1756to1760
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
Inhaltsverzeichnis

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

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
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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige