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


Gestern war hier noch aufgeräumt. Echt schade, dass du’s verpasst hast.

Das ist widerlich, böse und gemein!

Ich finde auf meiner Festplatte eine Dummy-Datei, die die Firma Microsoft zur Verfügung stellt: ORGDATA.XLS. Darin sind einige Namen enthalten. Ich öffne sie:

In dieser Datei war festgelegt, dass die Z1S1-Bezugsart verwendet werden soll (Datei / Optionen / Formeln). Ich schließe die Datei, beende Excel und starte Excel erneut. Die Einstellung dieser Datei wird mir nun als Grundeinstellung angezeigt – statt

A  |  B  |  C  |  D  |  E …

in den Spaltenköpfen erhalte ich:

1  |  2  |  3  |  4  |  5 …

Ich muss über Datei / Optionen / Formeln die Bezugsart ändern oder eine meiner „deutschen“ Dateien öffnen – dann ist der Spuk weg.

Ich habe es ausprobiert – umgekehrt genauso: ich ändere die Sprache auf englisch, schalte auf Z1S1 um, öffne eine deutsche, sprich: A1-Datei, – schwupp – und weg ist der Z1S1-Quatsch.

 

Alles, was ich will ist teuer, macht dick oder antwortet mir nicht

In der letzten Excel-Schulung habe ich die (intelligenten) Tabellen vorgestellt. Ich zeige, dass die Spaltenköpfe A, B, C, … durch die Überschriftszeile ersetzt werden:

Ein Teilnehmer fragt mich, warum es bei ihm nicht funktioniere.

Die Antwort ist schnell gefunden: er hatte eine Fixierung eingeschaltet.