Discussion:
Listbox Eintrag löschen
(zu alt für eine Antwort)
Kricklruder
2009-02-10 16:32:02 UTC
Permalink
Hallo

Bitte, wie kann ich aus einer Listbox Einträge entfernen die ich vorher mit
der AddItem Methode geladen habe. Wenn ich vorher die alten Eintragungen
nicht lösche, werden die neuen immer angefügt statt ersetzt.

Herzliche Dank für die Mühe
Ingo
Bernhard Sander
2009-02-10 16:48:50 UTC
Permalink
Hallo Ingo,
Post by Kricklruder
Bitte, wie kann ich aus einer Listbox Einträge entfernen die ich vorher mit
der AddItem Methode geladen habe. Wenn ich vorher die alten Eintragungen
nicht lösche, werden die neuen immer angefügt statt ersetzt.
Guck mal in der Hilfe unter "Listbox". Da gibt es die Methoden AddItem,
RemoveItem, Clear.
Mit listbox.List(zeile, spalte)="anderer Eintrag" kann man vorhandene Einträge
sogar ändern.
Falls Du keine VBA-Hilfe hast, dann installier die einfach. Die ist auf der CD
mit drauf, wird aber nur auf Anforderung installiert.

Gruß
Bernhard Sander
Kricklruder
2009-02-10 17:11:01 UTC
Permalink
Hallo Bernhard

Danke für die Expressantwort. Hab ich schon. Aber es gelingt nicht.

Set KuBl = Worksheets("Kursblatt")
KuBl.Shapes(2).ControlFormat.RemoveAllItems Laufzeitfehler 438
KuBl.ListBox1_TeiN.RemoveItem Laufzeitfehler 450
KuBl.ListBox1_TeiN.RemoveItem (1) ohne Fehler aber kein löschen
KuBl.ListBox1_TeiN.RemoveItem (1, 10) Fehler beim kompilieren

For Each element In KuBl.ListBox1_TeiN Laufzeitfehler 438

element.Clear
Next

Hast Du noch einen Rat. Danke

Mfg
Ingo
Post by Bernhard Sander
Hallo Ingo,
Post by Kricklruder
Bitte, wie kann ich aus einer Listbox Einträge entfernen die ich vorher mit
der AddItem Methode geladen habe. Wenn ich vorher die alten Eintragungen
nicht lösche, werden die neuen immer angefügt statt ersetzt.
Guck mal in der Hilfe unter "Listbox". Da gibt es die Methoden AddItem,
RemoveItem, Clear.
Mit listbox.List(zeile, spalte)="anderer Eintrag" kann man vorhandene Einträge
sogar ändern.
Falls Du keine VBA-Hilfe hast, dann installier die einfach. Die ist auf der CD
mit drauf, wird aber nur auf Anforderung installiert.
Gruß
Bernhard Sander
Eberhard Funke
2009-02-10 17:36:26 UTC
Permalink
Post by Kricklruder
Bitte, wie kann ich aus einer Listbox Einträge entfernen die ich vorher mit
der AddItem Methode geladen habe. Wenn ich vorher die alten Eintragungen
nicht lösche, werden die neuen immer angefügt statt ersetzt.
Hallo Kricklruder,

ein Beispiel aus der Hilfe:

Dim EntryCount As Single

Private Sub CommandButton1_Click()
EntryCount = EntryCount + 1
ListBox1.AddItem (EntryCount & " - Selection")
End Sub

Private Sub CommandButton2_Click()
'Ensure ListBox contains list items
If ListBox1.ListCount >= 1 Then
'If no selection, choose last list item.
If ListBox1.ListIndex = -1 Then
ListBox1.ListIndex = _
ListBox1.ListCount - 1
End If
ListBox1.RemoveItem (ListBox1.ListIndex)
End If
End Sub

Private Sub UserForm_Initialize()
EntryCount = 0
CommandButton1.Caption = "Add Item"
CommandButton2.Caption = "Remove Item"
End Sub


Lege ein UserForm mit einer ListBox und 2 Commandbuttons an, und los
geht's.
--
Mit freundlichen Grüssen Eberhard
XP home XL 2000
Eberhard(punkt)W(punkt)Funke(at)t-online.de
Kricklruder
2009-02-14 19:21:01 UTC
Permalink
Hallo Eberhard

Dein Beispiel habe ich schon in der Hilfe gefunden nur konnte ich ddamit
nichts anfangen. Erst dein Beispiel hat mir auf die Sprünge geholfen. Ich
mußete zwar den RemoveItem-Befehl in eine Schleife verpacken. Jetzt
funktioniert es.

Hier der Code:
If KuBl.ListBox1_TeiN.ListCount >= 1 Then 'Ensure ListBox contains
list items
TN_Anz = KuBl.ListBox1_TeiN.ListCount
TN_Lösch = "ja"
For TNix = 1 To TN_Anz
Anz_List = KuBl.ListBox1_TeiN.ListCount
KuBl.ListBox1_TeiN.ListIndex = Anz_List - 1
KuBl.ListBox1_TeiN.RemoveItem (KuBl.ListBox1_TeiN.ListIndex) 'Auslöser
Next
TN_Lösch = "nein"
End If

Herzilchen Dank
Ingo
Post by Eberhard Funke
Post by Kricklruder
Bitte, wie kann ich aus einer Listbox Einträge entfernen die ich vorher mit
der AddItem Methode geladen habe. Wenn ich vorher die alten Eintragungen
nicht lösche, werden die neuen immer angefügt statt ersetzt.
Hallo Kricklruder,
Dim EntryCount As Single
Private Sub CommandButton1_Click()
EntryCount = EntryCount + 1
ListBox1.AddItem (EntryCount & " - Selection")
End Sub
Private Sub CommandButton2_Click()
'Ensure ListBox contains list items
If ListBox1.ListCount >= 1 Then
'If no selection, choose last list item.
If ListBox1.ListIndex = -1 Then
ListBox1.ListIndex = _
ListBox1.ListCount - 1
End If
ListBox1.RemoveItem (ListBox1.ListIndex)
End If
End Sub
Private Sub UserForm_Initialize()
EntryCount = 0
CommandButton1.Caption = "Add Item"
CommandButton2.Caption = "Remove Item"
End Sub
Lege ein UserForm mit einer ListBox und 2 Commandbuttons an, und los
geht's.
--
Mit freundlichen Grüssen Eberhard
XP home XL 2000
Eberhard(punkt)W(punkt)Funke(at)t-online.de
Loading...