Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / ListBox (Excel VBA) / 4 сообщений из 4, страница 1 из 1
16.05.2006, 21:37:30
    #33731069
100g
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox (Excel VBA)
Поможите, люди добрые.
Не понимаю как прочитать и записать значение в третий столбец ListBox.
ListBox.Value возвращает текущее значение из первого столбца
ListBox.Text из второго.
А с третьим как работать не соображу.
Неужели только считывать всё в массив, править и заливать обратно?
...
Рейтинг: 0 / 0
16.05.2006, 22:09:46
    #33731093
100g
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox (Excel VBA)
Так. Из второго текст читает потому, что ListBox.TextColumn = 2
Но если во время ListBox_Change попробовать изменить TextColumn на 3, то выдает ошибку.
А мне надо во время выполнения ListBox_Change считывать значения из всех столбцов и отображать их в TextBox-ах.
Примеры в справке и книжках ограничиваются только одним TextBox.
ЗЫ: Вот, блин!
...
Рейтинг: 0 / 0
16.05.2006, 23:07:58
    #33731139
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox (Excel VBA)
Нужно всего лишь воспользоваться свойством "List".

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
Private Sub UserForm_Initialize()
    Dim intI As Integer
    Dim varArray( 5 ,  2 ) As Variant
    
    ListBox1.ColumnCount =  3 
    
    For intI =  0  To  5 
        varArray(intI,  0 ) = intI
        varArray(intI,  1 ) = Int(( 10  * Rnd) +  1 )
        varArray(intI,  2 ) = Int(( 10  * Rnd) +  1 )
    Next intI

    ListBox1.List() = varArray
End Sub

Private Sub ListBox1_Change()
    ' Считываем данные из трех столбцов.
    
    Dim strTemp As String
       
    With ListBox1
        strTemp = "Значение первого столбца: " & _
          .List(.ListIndex,  0 ) & vbNewLine & _
          "Значение второго столбца: " & _
          .List(.ListIndex,  1 ) & vbNewLine & _
          "Значение третьего столбца: " & _
          .List(.ListIndex,  2 )
    End With
    
    MsgBox strTemp
End Sub

Private Sub CommandButton1_Click()
    ' Меняем значение в первой строке третьего столбца.
    
    ListBox1.List( 0 ,  2 ) = "Новое значение"
End Sub
...
Рейтинг: 0 / 0
17.05.2006, 00:47:38
    #33731208
100g
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox (Excel VBA)
))))))
Спасибо, Ashton!
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / ListBox (Excel VBA) / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]