Страницы: 1
RSS
Изменение значения TextBox при выборе другого значения из списка ListBox, При выборе одного из значений в списке ListBox оно заносится в TextBox если выбрать другое значение данные в TextBox не меняются
 
Уважаемые форумчане, доброе утро.
В файле во вложении есть форма с TextBox и ListBox. В ListBox берутся значения из диапазона A2:A11 и частично совпадающие с данными введенными в TextBox. Если в ListBox выбрать одно из значений оно присваивается TextBox и не меняется если выбрать другое из списка. Если стереть выбранное из ListBox значение то выходит ошибка Run-time error '70': Permission deniend.
Необходимо чтобы при выборе значения в ListBox оно каждый раз переносилось в TextBox. Была возможность стереть денные после переноса их из ListBox в TextBox.
Подскажите, пожалуйста, в каком направлении копать.
 
зациклены процедуры
Код
Dim x, f As Boolean

Private Sub UserForm_Initialize()
    x = Range("A2", Cells(Rows.Count, 1).End(xlUp)).Value
End Sub

Sub TextBox1_Change()
Dim i As Long, s As String, txt As String, lt As Long
If f Then Exit Sub
txt = TextBox1.Text: lt = Len(txt)
If lt = 0 Then Exit Sub    'при отсутствии символов для поиска - выход

For i = 1 To UBound(x)    ' поиск по первым буквам (Search by first letter)
    If txt = Mid(x(i, 1), 1, lt) Then s = s & "~" & x(i, 1)
Next i

Me.ListBox1.List = Split(Mid(s, 2), "~")
End Sub

Sub ListBox1_Click()
    f = True
    TextBox1 = ListBox1
    f = False
End Sub
 
Цитата
Starik19 написал:
Подскажите, пожалуйста, в каком направлении копать
VBA для чайников
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Александр Моторин, Александр, спасибо, работает.
Ігор Гончаренко, Игорь, вам тоже спасибо, буду изучать
 
Starik19, По сути ничего не нужно было особо выдумывать, а просто добавить проверку
Код
If InStr(1, Mid(s, 2), "~", vbTextCompare) > 0 Then Me.ListBox1.List = Split(Mid(s, 2), "~")
вместо
Код
Me.ListBox1.List = Split(Mid(s, 2), "~")
"Все гениальное просто, а все простое гениально!!!"
Страницы: 1
Наверх