Excel 2010 vba mehrspaltige listbox
Hallo,
ich versuche Daten aus einer Access-Datei in eine ListBox auf einer Userform einzulesen.
Dazu habe ich die ListBox zum Anzeigen der ColumnHeads umgestellt und Daten einlesen klappt auch.
Leider kriege ich einen Text in den Kopf-Bereich der jeweiligen Spalte.
Welche Möglichkeiten gibt es dafür?
Gruß
ich versuche Daten aus einer Access-Datei in eine ListBox auf einer Userform einzulesen.
Dazu habe ich die ListBox zum Anzeigen der ColumnHeads umgestellt und Daten einlesen klappt auch.
Leider kriege ich einen Text in den Kopf-Bereich der jeweiligen Spalte.
Welche Möglichkeiten gibt es dafür?
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 301082
Url: https://administrator.de/contentid/301082
Ausgedruckt am: 25.11.2024 um 20:11 Uhr
11 Kommentare
Neuester Kommentar
Moin.
More details please....
Gruß jodel32
Zitat von @AsciWhite:
Dazu habe ich die ListBox zum Anzeigen der ColumnHeads umgestellt und Daten einlesen klappt auch.
OKDazu habe ich die ListBox zum Anzeigen der ColumnHeads umgestellt und Daten einlesen klappt auch.
Leider kriege ich einen Text in den Kopf-Bereich der jeweiligen Spalte.
?? Hmm, was meinst du mit einen Text?Welche Möglichkeiten gibt es dafür?
Wenn man weiß was du vorhast können wir dir helfen More details please....
Gruß jodel32
Gib einfach die RowSource Eigenschaft der Listbox an, dann wird automatisch die erste Zeile des Bereichs den du angibst in die Überschriften übernommen.
Dann lad dein Recordset in ein Sheet kombiniere es mit deinen Überschriften und setze die RowSource auf den belegten Range. Der lässt sich ja z.B. einfach mit
Range("A1").CurrentRegion.Address
ermitteln.
Range("A1").CurrentRegion.Address
ermitteln.
Deswegen ist die Listbox für mich persönlich in dieser Hinsicht ja auch ein NOGO.
Dann doch lieber gleich mit Visual Studio ein richtiges Plugin schreiben anstatt diese vollkommen veralteten Tools zu nutzen.
Gerade auch weil VBA-Code in Zeiten von Locky und Ransomware immer unbeliebter wird. Für eine Weiterverteilung weitere Gründe langsam aber sicher umzuschwenken.
Dann doch lieber gleich mit Visual Studio ein richtiges Plugin schreiben anstatt diese vollkommen veralteten Tools zu nutzen.
Gerade auch weil VBA-Code in Zeiten von Locky und Ransomware immer unbeliebter wird. Für eine Weiterverteilung weitere Gründe langsam aber sicher umzuschwenken.
nun möchte ich einfach einen Text, zb. Spalte1 ... Spalte2 usw. in diese Kopfzeile einfügen.
Einfach einen Text einfügen geht mit AddItem:
ListBox1.AddItem "Spalte1"
ListBox1.List(0, 1) = "Spalte2"
ListBox1.List(0, 2) = "Spalte3"
...
usw.
Schau dir AddItem mal genauer an.
Da war ich etwas unpräzise, man muss den Bereich unterhalb der Überschriften als Quelle definieren, dann wird die Zeile über dem Bereich als Überschriftenzeile genutzt.
Hier der BeispielCode für einen dreispaltigen Bereich bei dem die Überschriften in Zeile 1 stehen und die Daten ab Zeile 2
Hier der BeispielCode für einen dreispaltigen Bereich bei dem die Überschriften in Zeile 1 stehen und die Daten ab Zeile 2
Private Sub UserForm_Initialize()
ListBox1.RowSource = Range("A2:C" & Range("A2").CurrentRegion.SpecialCells(xlCellTypeLastCell).Row).Address
End Sub