powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / ListBox (Excel VBA)
4 сообщений из 4, страница 1 из 1
ListBox (Excel VBA)
    #33731069
Фотография 100g
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поможите, люди добрые.
Не понимаю как прочитать и записать значение в третий столбец ListBox.
ListBox.Value возвращает текущее значение из первого столбца
ListBox.Text из второго.
А с третьим как работать не соображу.
Неужели только считывать всё в массив, править и заливать обратно?
...
Рейтинг: 0 / 0
ListBox (Excel VBA)
    #33731093
Фотография 100g
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так. Из второго текст читает потому, что ListBox.TextColumn = 2
Но если во время ListBox_Change попробовать изменить TextColumn на 3, то выдает ошибку.
А мне надо во время выполнения ListBox_Change считывать значения из всех столбцов и отображать их в TextBox-ах.
Примеры в справке и книжках ограничиваются только одним TextBox.
ЗЫ: Вот, блин!
...
Рейтинг: 0 / 0
ListBox (Excel VBA)
    #33731139
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно всего лишь воспользоваться свойством "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
ListBox (Excel VBA)
    #33731208
Фотография 100g
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
))))))
Спасибо, Ashton!
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / ListBox (Excel VBA)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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