Public arr Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) If ListBox1.ListIndex = -1 Then Exit Sub ActiveCell.Value = arr(ListBox1.Value, 1) End Sub
Private Sub TextBox2_Change() ListBox1.Clear If Len(TextBox2.Value) = 0 Then Exit Sub j = 0 For i = 1 To UBound(arr) If InStr(1, UCase(arr(i, 1)), UCase(TextBox2.Value)) > 0 Then ListBox1.AddItem i ListBox1.List(j, 1) = arr(i, 1) j = j + 1 End If Next End Sub Private Sub UserForm_Initialize() arr = Sheets("Сотрудники").[a1:a10000].Value End Sub
[/vba]
Вызывается окно [vba]
Код
Sub da() UserForm1.Show End Sub
[/vba] Этот макрос делает следующее: в открытом окне вводом первых букв Фамилии ищем совпадения из диапазона [a1:a10000], при двойном клике на нужном варианте данные добавляются в ячейку где стоит курсор. Нужно сделать так, чтобы можно было добавлять данные только в определенный диапазон, например "B1:B10", т.е. если выбрана ячейка не из этого диапазона то данные не добавлять, ну или выводить ошибку.
Здравствуйте, есть такой макрос [vba]
Код
Public arr Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) If ListBox1.ListIndex = -1 Then Exit Sub ActiveCell.Value = arr(ListBox1.Value, 1) End Sub
Private Sub TextBox2_Change() ListBox1.Clear If Len(TextBox2.Value) = 0 Then Exit Sub j = 0 For i = 1 To UBound(arr) If InStr(1, UCase(arr(i, 1)), UCase(TextBox2.Value)) > 0 Then ListBox1.AddItem i ListBox1.List(j, 1) = arr(i, 1) j = j + 1 End If Next End Sub Private Sub UserForm_Initialize() arr = Sheets("Сотрудники").[a1:a10000].Value End Sub
[/vba]
Вызывается окно [vba]
Код
Sub da() UserForm1.Show End Sub
[/vba] Этот макрос делает следующее: в открытом окне вводом первых букв Фамилии ищем совпадения из диапазона [a1:a10000], при двойном клике на нужном варианте данные добавляются в ячейку где стоит курсор. Нужно сделать так, чтобы можно было добавлять данные только в определенный диапазон, например "B1:B10", т.е. если выбрана ячейка не из этого диапазона то данные не добавлять, ну или выводить ошибку.web-master
Сообщение отредактировал web-master - Четверг, 11.12.2014, 18:59