View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Russ Russ is offline
external usenet poster
 
Posts: 108
Default multiselect listbox backcolor

Thanks Dave - and not too much code. Works like a charm.
--
russ


"Dave Peterson" wrote:

Not too much code:

Option Explicit
Private Sub CommandButton1_Click()
Dim myArr() As Boolean
Dim iCtr As Long
ReDim myArr(0 To Me.ListBox1.ListCount - 1)

For iCtr = 0 To Me.ListBox1.ListCount - 1
myArr(iCtr) = Me.ListBox1.Selected(iCtr)
Next iCtr
Me.ListBox1.BackColor = vbRed

For iCtr = 0 To Me.ListBox1.ListCount - 1
Me.ListBox1.Selected(iCtr) = myArr(iCtr)
Next iCtr

End Sub
'for testing
Private Sub UserForm_Initialize()
Dim iCtr As Long
With Me.ListBox1
.MultiSelect = fmMultiSelectMulti
For iCtr = 1 To 10
.AddItem iCtr
Next iCtr
End With
End Sub



Russ wrote:

I have a form with several textboxes, comboboxes and multiselect listboxes.
I would like to change the backcolor of each without changing the value in
each. A simple statement like:
Me.textbox1.backcolor = VbRed changes the backcolor of textboxes without
changing the textbox.value
Me.combobox1.backcolor = VbRed changes the backcolor of comboxes without
changing the combobox.value
However, Me.listbox1.backcolor = VbRed changes the backcolor of multiselect
listboxes but also resets the listbox1 to no selections.

Does anyone know a way to change the color of a multiselect listbox and keep
its selections without a lot of code to remember the array settings?

--
russ


--

Dave Peterson