Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

listbox einträge , vergleichen, löschen

Betrifft: listbox einträge , vergleichen, löschen von: Tobias
Geschrieben am: 15.09.2004 14:40:04

er soll aus einer listbox werte vergleichen und wenn sie gleich sind einen von beiden löschen.

"invalid procedure or call of argument" bringt er mir als fehler, warum???

Code-Auszug:
-----------------------------------------------------------------------------
Dim filter As Boolean

begin:
filter = False
Do While Not filter
filter = True
For lauf = 0 To List_time.List(List_time.ListCount - 1)
If List_time.List(List_time.ListCount - 1) = List_time.List(lauf) Then
List_time.RemoveItem CDbl(List_time.List(lauf))
GoTo begin
End If
filter = False
Next lauf
Loop
-----------------------------------------------------------------------------

mfg
tobias

  


Betrifft: AW: listbox einträge , vergleichen, löschen von: Udo
Geschrieben am: 15.09.2004 15:49:35

Wie wurde die Box gefüllt? Falls RowSource oder ListFillRange, gehts nicht!

Udo


  


Betrifft: AW: listbox einträge , vergleichen, löschen von: Tobias
Geschrieben am: 15.09.2004 16:25:50

einfach mit List_time.additem

aber box wäre auch egal wenn ich das im array vorher filtern könnte, das würde 1 Schritt sparen.


mfg
tobias


  


Betrifft: AW: listbox einträge , vergleichen, löschen von: tobias
Geschrieben am: 15.09.2004 20:45:09

Hallo

sortiere doch zuerst und lass dann noch einmal eine schleife drüberlaufen die alle doppelten Werte rausfeuert...

mfg tobias


  


Betrifft: AW: listbox einträge , vergleichen, löschen von: Tobias
Geschrieben am: 16.09.2004 10:24:59

das problem ist ja das die listbox schon sortiert ist, aber er nicht die doppelten einträge entfernt.

wen ich das in der listbox mache mit RemoveItem dann meckert er von wegen

illegal argument use.


  


Betrifft: AW: listbox einträge , vergleichen, löschen von: tobias
Geschrieben am: 16.09.2004 11:18:36

Hallo

List_time.RemoveItem (List_time.Listindex)

mfg tobias


  


Betrifft: AW: listbox einträge , vergleichen, löschen von: Tobias
Geschrieben am: 16.09.2004 11:51:23

"invalid procedure call or argument" gibt er mir zurück.


begin:
filter = False
Do While Not filter
filter = True
For lauf = 0 To List_time.List(List_time.ListCount - 1)
If List_time.List(List_time.ListCount - 1) = List_time.List(lauf) Then
List_time.RemoveItem (List_time.ListIndex)
GoTo begin
End If
filter = False
Next lauf
Loop


  


Betrifft: AW: listbox einträge , vergleichen, löschen von: tobias
Geschrieben am: 16.09.2004 13:26:02

Hallo

so gehts:

With List_time
If .ListCount > 1 Then
lcount = .ListCount - 1
buffer = .List(0)
For lauf = 1 To lcount
If lauf > .ListCount - 1 Then Exit For
If .List(lauf) = buffer Then
.RemoveItem (lauf)
lauf = lauf - 1
lcount = .ListCount - 1
Else
buffer = .List(lauf)
End If
Next
End If
End With


mfg tobias


  


Betrifft: AW: listbox einträge , vergleichen, löschen von: Tobias
Geschrieben am: 16.09.2004 14:40:32

geht, krass

thx.

mfg
Tobias


 

Beiträge aus den Excel-Beispielen zum Thema "listbox einträge , vergleichen, löschen"