Страницы: 1
RSS
MultiSelect в Listbox
 
Добрый вечер всем!

Помогите пожалуйста с MultiSelect в LB.

При выборе значений в списке они появляются у меня в первой строке, а вот при отключении не могу обнулить отключенное значение(((
И еще один момент, сейчас при выборе например Январь+Март, они появятся в первой строке друг за другом, а я хотел бы их отобразить через одну ячейку, так как реально в списке.
пример в приложении и код:

Код
Private Sub ListBox1_Change()
    Dim i%, c%, t$
    
    c = 1
    t = NullString
    
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) Then
            Cells(1, c).Value = ListBox1.List(i)
            c = c + 1
            t = Cells(1, c).Value
        End If
    Next i
End Sub



Заранее спасибо за помощь.
 
Код
Private Sub ListBox1_Change()
    Dim i As Long , t As Long
    
    t = NullString
    Rows(1).ClearContents
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) Then
            Cells(1, i + 1).Value = ListBox1.List(i)
            t = Cells(1, i + 1).Value
        End If
    Next i
End Sub
 
vikttur, добавить нечего)))) идеальное решение моей проблемы! В десяточку! Огромное спасибо!
 
Зачем переменная t?
Можно без предварительного удаления данных.
Код
Private Sub ListBox1_Change()
Dim i As Long, t As Long

    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) Then
            Cells(1, i + 1).Value = ListBox1.List(i)
        Else
            Cells(1, i + 1).Value = ""
        End If
    Next i
End Sub
 
ааа... чуток не заметил кое что....
Вы привели код где первым столбик является первый, а как сделать чтоб начало было не с первого столбца, а с любого другого?

up
ссори, разобрался!
Изменено: marker_mc - 07.04.2013 23:12:48
 
vikttur, переменную добавил чтоб вначале цикла симпатичнее код выглядел)))
последний ваш вариант посимпатичнее будет! Еще раз спасибо!
Страницы: 1
Читают тему
Наверх