How to prevent list item selection

  • Thread starter Thread starter Robert Flanagan
  • Start date Start date
R

Robert Flanagan

I'm having one of those blond moments (no offense to any blonds). I have a
simple list box to display information. I want to immediately unselect any
item that is selected. None of the obvious items I've tried worked. Any
suggestions?
 
You forgot to tell us where you got the ListBox from... the Control ToolBox
toolbar or the Forms toolbar. Try one of these (whichever is relevant to
your setup)...

Control ToolBox Toolbar
==========================
ToolBox: WorkSheets("Sheet1").ListBox1.ListIndex = -1

Forms Toolbar
==========================
WorkSheets("Sheet1").ActiveSheet.Shapes("List Box 2"). _
OLEFormat.Object.ListIndex = 0

Change the name of the worksheet and the name of the ListBox to match the
actual names used in your setup.
 
I think you meant:

WorkSheets("Sheet1").Shapes("List Box 2"). _
OLEFormat.Object.ListIndex = 0

or

ActiveSheet.Shapes("List Box 2"). _
OLEFormat.Object.ListIndex = 0

=====
But another way is to go through the Listboxes collection:

Worksheets("Sheet1").ListBoxes("List box 2").ListIndex = 0
 
Ron and JLG, the list box is on a user form. I have the list index set
initially at -1. But the list box is clickable and the user can select any
item. I can trap the mouse up event and change the list index back to -1,
but the item clicked is still blue. Repaint doesn't change the item to
unselected.

The only solution I have found is to set up a Do..Loop and hide and reshow
the form via the mouse up event and a public variable. The mouse up event
sets the variable to reshow and to hide the form. And setting the listindex
back to -1. This just doesn't seem like an elegant solution <grin>.

Bob
 
Thanks for catching that Dave (I had meant to post it the first way you
showed).
 
Try this in the mouseup, and/or maybe in the Exit event if you want to cater
for keyboard use

With Me.ListBox1
.List = .List
End With

Curiosity, Why?

Regards,
Peter T
 
Peter that works by replacing the list with itself. Therefore it is the
same as doing a clear and re-entering the list. I did have to set the
listindex to -1 however. If I did not do so, the selection stayed
highlighted in blue.

One problem with that appraoch is the list scrolls back to the top. I
tested the hide and reshow approach and the list stays as scrolled. This is
of value so it looks like hide and reshow is the approach.

Bob
 
Back
Top