Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
804to808
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Listbox RemoveItem
25.09.2006 08:07:32
Frederic
Guten Morgen Excel-Profis,
hab folgenden Code, mit dem ich meine Listbox fülle und auch einträge wieder löschen möchte, haut aber irgendwie nicht hin.
Mit Listbox und UF experimentiere ich noch nicht so lange, von daher fehlt mir die Praxis:

Private Sub Commandbutton2_click()
With Sheets("Tabelle1")
R = .Cells(65536, 1).End(xlUp).Row
ListBox1.ColumnCount = .Cells(1, 256).End(xlToLeft).Column
ListBox1.ColumnHeads = True
ListBox1.RowSource = Sheets("Tabelle1").Range("A2:N" & R).Address(External:=True)
End With
End Sub


Private Sub CommandButton1_byDoubleClick()
i = ListBox1.ListIndex
ListBox1.RemoveItem (i)
End Sub

Könnt ihr mir vielleicht sagen, wo der fehler liegt?
Gruß.
Frederic

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox RemoveItem
25.09.2006 08:23:02
Frederic
Hi Leute,
hab meinen Code nochmal überarbeitet, passt soweit alles, nur bei "RemoveItem" kommt als fehlermeldung immer: "Nicht näher bezeichneter Fehler"....?
Wo liegt der Wurm denn?

Private Sub CommandButton1_Click()
With Sheets("Tabelle1")
R = .Cells(65536, 1).End(xlUp).Row
ListBox1.ColumnCount = .Cells(1, 256).End(xlToLeft).Column
ListBox1.ColumnHeads = True
ListBox1.RowSource = Sheets("Tabelle1").Range("A2:N" & R).Address(External:=True)
End With
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

Gruß
Frederic
Anzeige
AW: Listbox RemoveItem
25.09.2006 09:53:42
Beni
Hallo Frederic,
ListBox1.RowSource = Sheets("Tabelle1").Range("A2:N" & R).Address(External:=True)
ist eine Verknüpfung mit dem Bereich, das kann in der Listbox nicht gelöscht werden.
Du musst in der Tablle löschen, mit
Rows(ListBox1.ListIndex).Delete Shift:=xlUp
Gruss Beni
AW: Listbox RemoveItem
25.09.2006 09:59:28
Frederic
Hi Benni,
super - genial. Hab jetzt folgendes kombiniert, löscht jetzt in der ListBox UND in der tabelle:

Private Sub CommandButton1_Click()
Me.ListBox1.List() = Range("a2:d30").Value
End Sub


Private Sub CommandButton2_Click()
With ListBox1
.RemoveItem (.ListIndex)
Rows(ListBox1.ListIndex).Delete Shift:=xlUp
End With
End Sub


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

Perfekt - wie gesagt, einfach genial, tausend Dank.
Frederic
Anzeige
AW: Listbox RemoveItem
25.09.2006 10:30:35
Frederic
Hi Benni,
doch zu früh geschriehen....
Er löscht zwar aus der Listbox UND der Tabelle, aber ganz was anderes...es stimmt der Bezug dazu nicht...
Was läuft da noch verkehrt?
Danke nochmal für deine Hilfe.
Frederic
AW: Listbox RemoveItem
25.09.2006 11:26:19
Rudi
Hallo,
der Listindex fängt bei 0 an.
Gruß
Rudi
AW: Listbox RemoveItem
25.09.2006 11:30:24
Frederic
Hi Rudi,
wie muss ich dann folgenden Code verändern, dass er mir wirklich den markierten Eintrag aus Tabelle1 löscht? in der Listbox nimmt er ja den richtigen...

Private Sub CommandButton2_Click()
With ListBox1
.RemoveItem (.ListIndex + 1)
Rows(ListBox1.ListIndex + 1).Delete Shift:=xlDown
End With
End Sub

Danke.
Frederic
Anzeige
AW: Listbox RemoveItem
25.09.2006 20:09:46
Herbert
Hi,
Const i as Long = 1
Rows(ListBox1.ListIndex + i).Delete
Musst halt das richtige offset für i ausprobieren.
mfg Herbert
AW: Listbox RemoveItem
25.09.2006 10:07:36
Luschi
Hallo
man muß die Quelle in RowSource Ändern und nicht die zeilen in der Tabelle löschen.
So geht's:
Dim r As Long
Private Sub CommandButton1_Click()
With Sheets("Tabelle1")
r = .Cells(65536, 1).End(xlUp).Row
ListBox1.ColumnCount = .Cells(1, 256).End(xlToLeft).Column
ListBox1.ColumnHeads = True
ListBox1.RowSource = Sheets("Tabelle1").Range("A2:D" & r).Address(External:=True)
End With
End Sub
Private Sub CommandButton2_Click()
r = r - 1
Select Case ListBox1.ListCount
Case 1
Me.ListBox1.RowSource = ""
Case Is > 1
ListBox1.RowSource = Sheets("Tabelle1").Range("A2:D" & r).Address(External:=True)
End Select
End Sub
Private Sub UserForm_Initialize()
EntryCount = 0
CommandButton1.Caption = "Add Item"
CommandButton2.Caption = "Remove Item"
End Sub
Gruß von Luschi
aus klein-Paris
PS: bitte mach zum selben Problem nicht immer neue Anfragen auf; die Helfer
verfolgen auch die Problemstellungen, die weiter unten stehen.
Anzeige
AW: Listbox RemoveItem
25.09.2006 10:11:32
Frederic
Hi Luschi,
danke für die Hilfe, aber ich MUSS auch die Einträge in der Tabelle löschen, nur in der Listbox bringt es mir nichts....
PS: Sorry für das Doppelposting, ist eigentlich nicht meine Art...
Frederic
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen