Prevent Duplicate Listbox Entries

This useful code listing prevents users from entering duplicate entries into a listbox or modifying existing listbox entries. While the code prevents users from adding duplicate entries, you can modify the True condition of the If block in the Add_New procedure to suit your needs. Declare the constant, LB_FINDSTRINGEXACT and the SendMessage function declaration in a BAS module:

 Declare Function SendMessageByString Lib _	"user32" Alias "SendMessageA" (ByVal hWnd As _	Long, ByVal wMsg As Long, ByVal wParam As _	Long, ByVal lParam As String) As LongPublic Const LB_FINDSTRINGEXACT = &H1A2

This function uses the SendMessageByString API and returns either the existing item’s index or -1. If it returns -1, you can add the item:

 Function ChkListDuplicates(chwnd As Long, _	StrText As String) As Boolean	ChkListDuplicates = (SendMessageByString(chwnd, _		LB_FINDSTRINGEXACT, -1, StrText) > -1)End Function

If the LB_FINDEXACTSTRING message returns a value of -1, no match was found, so ChkListDuplicates returns False. You can use this value to determine whether to add a new item to your list:

 Private Sub Add_New()	Dim user As String	user = InputBox("Add ListBox Entry", "Test Project")	If Len(user) Then		If Not ChkListDuplicates(List1.hWnd, _			Trim(user)) Then			List1.AddItem Trim(user)		Else			MsgBox "Duplicate Names can not be " & _				"added." & vbCrLf & "Please " & _				"make sure you are not adding " & _				"duplicate names.", vbExclamation, _				"Test Project: Invalid Operation"		End If	End IfEnd Sub
Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

The Latest

your company's audio

4 Areas of Your Company Where Your Audio Really Matters

Your company probably relies on audio more than you realize. Whether you’re creating a spoken text message to a colleague or giving a speech, you want your audio to shine. Otherwise, you could cause avoidable friction points and potentially hurt your brand reputation. For example, let’s say you create a

chrome os developer mode

How to Turn on Chrome OS Developer Mode

Google’s Chrome OS is a popular operating system that is widely used on Chromebooks and other devices. While it is designed to be simple and user-friendly, there are times when users may want to access additional features and functionality. One way to do this is by turning on Chrome OS

homes in the real estate industry

Exploring the Latest Tech Trends Impacting the Real Estate Industry

The real estate industry is changing thanks to the newest technological advancements. These new developments — from blockchain and AI to virtual reality and 3D printing — are poised to change how we buy and sell homes. Real estate brokers, buyers, sellers, wholesale real estate professionals, fix and flippers, and beyond may