Hallöchen,
ich habe eine Rückfrage. Derzeit nutze in diesen Code, um einen "Raum" in einer ListBox hinzuzufügen. Das Alles läuft mit der Row.Source aus dem Tabellenblatt "Raum".
Dazu kommt ein Button zum Hinzufügen und Löschen. Wenn ich dann löschen, wird zwar die Zeile im Tabellenblatt entfernt aber in der ListBox bleibt der ausgewählte Wert stehen.
ListBox.RemoveItem(ListBox.Index) hat nicht funktioniert.
Zu dem wirkt es manchmal sehr instabil wenn ich etwas hinzufüge oder lösche (neben der Tatsache das die ListBox nicht aktualisiert wird). Was könnten die Gründe dafür sein? Die Row.Source ist ein List.Object. Würde sich zum entfernen eher dieser Vorgang anbieten Link
Freue mich über Rückmeldung.
Spoiler anzeigen
ich habe eine Rückfrage. Derzeit nutze in diesen Code, um einen "Raum" in einer ListBox hinzuzufügen. Das Alles läuft mit der Row.Source aus dem Tabellenblatt "Raum".
Dazu kommt ein Button zum Hinzufügen und Löschen. Wenn ich dann löschen, wird zwar die Zeile im Tabellenblatt entfernt aber in der ListBox bleibt der ausgewählte Wert stehen.
ListBox.RemoveItem(ListBox.Index) hat nicht funktioniert.
Zu dem wirkt es manchmal sehr instabil wenn ich etwas hinzufüge oder lösche (neben der Tatsache das die ListBox nicht aktualisiert wird). Was könnten die Gründe dafür sein? Die Row.Source ist ein List.Object. Würde sich zum entfernen eher dieser Vorgang anbieten Link
Freue mich über Rückmeldung.
VB.NET-Quellcode
- Option Explicit
- Dim lZeile As Long, wks As Worksheet
- Private Sub UserForm_Initialize()
- lb_raum.RowSource = "dt_Raum[Bezeichnung_Raum]"
- End Sub
- Private Sub btn_add_Click()
- 'Definitionen
- Set wks = ThisWorkbook.Worksheets("Raum")
- lZeile = 2
- 'Prüfung ob TextBox leer
- If tb_bezeichnung.Text = "" Then
- MsgBox ("Bitte Daten in die Bezeichnung eintragen!"), vbExclamation
- Else
- With wks
- Do While Trim(CStr(.Cells(lZeile, 1).Text)) <> ""
- lZeile = lZeile + 1
- Loop
- 'Daten eintragen
- .Cells(lZeile, 1) = CStr(tb_bezeichnung.Text)
- End With
- End If
- 'Fokus setzen
- With tb_bezeichnung
- .Text = ""
- .SetFocus
- End With
- End Sub
- Private Sub btn_del_Click()
- 'Definitionen
- Set wks = ThisWorkbook.Worksheets("Raum")
- 'Prüfung ob etwas in Listbox ausgewählt
- If lb_raum.ListIndex = -1 Then
- MsgBox ("Es wurde kein Raum zum Entfernen ausgewählt."), vbExclamation
- Else
- If MsgBox("Möchtest du den Raum wirklich entfernen?", vbYesNo, "Löschen?") = vbYes Then
- 'Zeile löschen
- wks.Rows(lb_raum.ListIndex + 2).Delete
- End If
- End If
- 'Fokus setzen
- With tb_bezeichnung
- .Text = ""
- .SetFocus
- End With
- End Sub
- Private Sub btn_close_Click()
- Unload frmRaum
- End Sub