Prüfungen sind deshalb so scheußlich, weil der größte Trottel mehr fragen kann, als der klügste Mensch zu beantworten vermag.
Ein HALLO und DANKESCHÖN für deinen Support über die Alpen,
bei uns bläst der Wind bei ca. 19 Grad und im WWW finde ich nicht die korrekte Lösung,
wie man in einem Listenfeld eines Formulars die Spaltenkopfinformationen setzt.
Also unter:
Private Sub UserForm_Initialize()
findest du schon Mal den VBA, auch die Zeile ColumnHeads = True
aber das i-Tüpfelchen nicht, wie man die Daten aus dem Bereich A1:D1 des Tabellenblattes „Material Data“ übernimmt, fehlt mir noch.
Die Lösungen des WWW führten leider nicht zum Erfolg.
Dankeschön & Gruß
Jürgen
Hallo Jürgen,
so geht es:
du musst einen Bereich definieren (mit Überschrift).
Und die Adresse (also $A$1:$D$14) an die RowSource übergeben.
Leider verlangt VBA die Adresse vom aktiven Blatt. Also muss man wechseln – möglicherweise am Ende wieder zurück:
With Me.LB_Entries
.ColumnHeads = True
Worksheets(„Material Data“).Activate
.RowSource = xlBereich.Address
End With
Den kompletten Code in deinem Beispiel findest du in der zweiten Userform:
Set xlBereich = Worksheets("Material Data").Range("A1").CurrentRegion
Set xlBereich = xlBereich.Offset(1, 0).Resize(xlBereich.Rows.Count - 1, xlBereich.Columns.Count)
With Me.LB_Entries
.ColumnHeads = True
Worksheets("Material Data").Activate
.RowSource = xlBereich.Address
End With
Liebe Grüße
Rene