View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
GS[_2_] GS[_2_] is offline
external usenet poster
 
Posts: 3,514
Default ListBox with 2 Columns

Kieranz explained on 9/9/2011 :
Hi
I have a listbox in my userform in which i would like to have two
columns show up from my find result. I am mixed as to the coding of
which i have the extract below.
Thks Kz

With grSearchRng
Set C = .Find(gvFindX, , goLookIn, goLookAt, goSearchOrder, ,
gbMatchCase)
If Not C Is Nothing Then
sFirstAddr = C.Address
Do
ufFind.LstFound.AddItem "'" & C.Worksheet.Name & "'!"
& C.Address
If IsNumeric(C.Value) Then
Select Case C.Column
Case 9, 10
error here-- ufFind.LstFound.List(.ListCount - 1, 1) = C.Value
Case Else
ufFind.LstFound.List(.ListCount - 1, 1) =
Format(C.Value, "#,##0.00")

End Select
Else
ufFind.LstFound.List(.LstFound.ListCount - 1, 1) =
C.Value

End If
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address < sFirstAddr
End If
End With


I suggest using an array to collect your data, THEN populate the
listbox from the array as this would be the quickest way.

You also need to set the ColumnCount property for the number of cols.

To add individual items you need to use the row/col index like this...

ListBox1.List(0, 0) = <col1 data
ListBox1.List(0, 1) = <col2 data

To 'dump' a 2D array into the listbox in one step...

ListBox1.List = myArray

--
Garry

Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc