AW: ListBox Bsp. Adressbuch
18.11.2006 16:56:47
ingUR
Hallo, Thomas,
da scheinst Du Dir aber ohne weitere Beispielvorlagen eine Menge an VBA-Programmierarbeit vorgenommen zu haben. Ich hoffe es soll nur der Übung dienen, denn Adressverwaltungen gibt es wohl so viele wie man nur suchen will.
Diese einleitenden Worte sollen dazu dienen, Dich daraugf vorzubereiten oder Dir zu empfehlen, vorlagedateien zum Thema ListBox zu suchen und zu studieren, ggf. ex Fachliteratur, denn mit dem Eintragen der TextBox-Inhalte ist nicht einmal wirklich ein großer Schritt gelungen.
Zudem empfehle ich, fir Namen der Steuerelement mit aussagekräftigen Namen zu versehen.
So, nun zum eigentlichen Thema. Wen Du die TextBox-Inhalte zu jedem Datensatz in einer ZListbox-Zeile vornehmen möchtest, dann ist als erstes die ListBox zur aufnahem der Anzahl der Spalten vorzubereiten, denn standardmäßig ist die ListBox mit einem eindimensolnallen Feld zu vergleichen, dess Ende "schiebbar ist, also nicht Dimensioniert werden muß. Dies erfolgt automatisch durch die ListBox-Methode AddItem.
Soll jedoch eine zweidimensonale ListBox verwaltet werden, dann ist dieses Eigenschaft dem Objekt ListBox1 mitzuteilen: ListBox1.ColumnCount = 5 in Deinem Fall.
Wird diese Eigenschaft nicht beim Programmentwurf mitgeteilt (siehe Eigenschaftsfenster im Eintrag mit gleiche Namen) dann kann dies vor der erten Nutzung der ListBox1 im VBA-Programm erfolgen; empfehlenswert ist hier die Initialisierungsroutine der Userform.
Die nachfolge Prrogammcode Erweiterung enthält also die Grundroutinen zum Eintrag eines Datensatzes in eine ListBox1-Zeile. Ferner ist hier noch die Möglichkeit der Titelzeile in der Listbox als Hinweis eingebaut, ohne diese mit Einträgen beschriftet ist. Das und auch die weiteren auf Dich wartenden Arbeiten, sollten den Fortschritten und Ergebnissen Deiner Studien angemmessen nachgetragen werden können.
Viel Erfog!
Anhang:
ComandButton4_Click()-Ereignisprozedur steckt hinter der Schaaltfläche "Hinzufügen/Ändern" (Tipp: im Anfang solltest Du m.E. aus didaktischen Gründen für Hinzufügen und Ändern jeweis einen eigene Schaltfläche vorsehen):
Private Sub CommandButton4_Click()
With ListBox1
.AddItem
.List(.ListCount - 1, 0) = TextBox1.Text
.List(.ListCount - 1, 1) = TextBox2.Text
.List(.ListCount - 1, 2) = TextBox3.Text
.List(.ListCount - 1, 3) = TextBox4.Text
.List(.ListCount - 1, 4) = TextBox5.Text
End With
End Sub
Private Sub UserForm_Initialize()
With ListBox1
.ColumnCount = 5
.ColumnHeads = True
End With
End Sub
sinniger Weise
nun ein
elle in