Rubrik: Controls · ListBox | VB-Versionen: VB6 | 28.02.14 |
Doppelte Einträge aus einer Listbox entfernen Der Code entfernt doppelte Einträge aus einer Listbox und benötigt nur wenige Programmzeilen. | ||
Autor: Zardoz | Bewertung: | Views: 9.078 |
ohne Homepage | System: Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Mit dieser Prozedur lassen sich alle doppelten Einträge einer ListBox schnell löschen.
Es wird hierzu auf die SendMessage API-Funktion zurückgegriffen.
Option Explicit ' benötigte API-Deklarationen Private Declare Function SendMessageByString Lib "user32" _ Alias "SendMessageA" ( _ ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As String) As Long Private Const LB_FINDSTRINGEXACT = &H1A2
' doppelte Einträge in einer ListBox löschen Public Sub RemoveDbl(DestLB As ListBox) Dim i As Long With DestLB For i = .ListCount - 1 To 0 Step -1 If SendMessageByString(.hwnd, LB_FINDSTRINGEXACT, i, .List(i)) <> i Then .RemoveItem i End If Next i End With End Sub
Der Aufruf sieht dann so aus:
Call RemoveDbl(List1)