ich programmiere gerade ein Tool mit VBA, in dem ich die Excel-Tabellen als Datenbank nutze, das Einfügen/Bearbeiten von Daten aber komplett über die Userforms abwickeln möchte. Ich möchte die Einträge einer Excel-Tabelle nun im Userform in einer Liste darstellen. Es existieren dabei mehrere Spalten. Das bringt Formatierungsprobleme mit sich, da eine Liste ja eigentlich nur für eine Spalte ausgelegt ist. Die einzelnen Felder der Datensätze sollen untereinander stehen, als wenn es eine normale Tabelle wäre. Ich habe versucht das Ganze folgendermaßen zu lösen:
str = nr & Space(20 - Len(nr)) & art & Space(23 - Len(art)) & bez & Space(55 - Len(bez)) & gr & Space(40 - Len(gr)) & preis
str stellt dabei einen Datensatz in der Liste dar. Ich frage die Länge des Eintrages ab und fülle den Rest mit Leerzeichen auf. Leider sind die Einträge teilweise trotzdem verschoben, ich vermute es liegt an der verschiedenen Breite von Zeichen (ein A ist breiter als ein I).
Vielleicht würde das ja mit Tabs statt mit Leerzeichen funktionieren, wie man Tabs setzt konnte ich allerdings noch nicht herausfinden.
Kann mir jemand sagen wie ich das lösen kann? Gibt es vielleicht ein Steuerelement in VBA, dass wie eine richtige Tabelle aufgebaut ist? Oder wie setze ich Tabs zwischen die Spaltenwerte?
Bitte dringend um Hilfe.
Gruß Florian Scheidler