Здравствуйте добрые люди! Увидел ОЧЕНЬ удобное решение на страничке "http://www.excelworld.ru/board/vba/tricks/find_in_database/9-1-0-27?lROUgt" с макросом на поиск значений в базе. Но споткнулся о настройки. На вкладке "Sheet1" есть удобный поиск с формой но поиск настроен на столбец А1 [vba]
Код
x = Range("A1", Cells(Rows.Count, 1).End(xlUp)).Value For i = 1 To UBound(x, 1) ' поиск по первым буквам If txt = Mid(x(i, 1), 1, lt) Then s = s & "~" & x(i, 1) Next i
[/vba] Пытался в своём файле перенастроить на солбец "B6" но никак не получилось это сделать. В обсуждениях писали что нужно поменять: [vba]
Код
х = Range("A1", Cells(Rows.Count, 1).End(xlUp)).Value
[/vba] напишите [vba]
Код
x = Range("E1", Cells(Rows.Count, 5).End(xlUp)).Value
[/vba]
А в Sub ListBox1_Click() вместо [vba]
Код
Columns(1).Find(ListBox1, lookat:=xlWhole).Select
[/vba] нужно будет [vba]
Код
Columns(5).Find(ListBox1, lookat:=xlWhole).Select
[/vba] Я попытался проделать тоже самое, но всеравно поис идет по столбцу "А1" Помогите пожалуйста с решением.
Здравствуйте добрые люди! Увидел ОЧЕНЬ удобное решение на страничке "http://www.excelworld.ru/board/vba/tricks/find_in_database/9-1-0-27?lROUgt" с макросом на поиск значений в базе. Но споткнулся о настройки. На вкладке "Sheet1" есть удобный поиск с формой но поиск настроен на столбец А1 [vba]
Код
x = Range("A1", Cells(Rows.Count, 1).End(xlUp)).Value For i = 1 To UBound(x, 1) ' поиск по первым буквам If txt = Mid(x(i, 1), 1, lt) Then s = s & "~" & x(i, 1) Next i
[/vba] Пытался в своём файле перенастроить на солбец "B6" но никак не получилось это сделать. В обсуждениях писали что нужно поменять: [vba]
Код
х = Range("A1", Cells(Rows.Count, 1).End(xlUp)).Value
[/vba] напишите [vba]
Код
x = Range("E1", Cells(Rows.Count, 5).End(xlUp)).Value
[/vba]
А в Sub ListBox1_Click() вместо [vba]
Код
Columns(1).Find(ListBox1, lookat:=xlWhole).Select
[/vba] нужно будет [vba]
Код
Columns(5).Find(ListBox1, lookat:=xlWhole).Select
[/vba] Я попытался проделать тоже самое, но всеравно поис идет по столбцу "А1" Помогите пожалуйста с решением.velikoleg
Исправьте свой пост - заключите примеры кода в тэг "Код VBA" (кнопочка # при редактировании).
"B6" - это не столбец, а ячейка. Таким образом, если вы хотите искать "в столбце B, начиная с ячейки B6, и до первой пустой ячейки", то в коде должно быть написано: [vba]
Код
x = Range("B6", Cells(Rows.Count, 2).End(xlUp)).Value ' B6 - начало списка, 2 - это столбец B
[/vba]и [vba]
Код
Columns(2).Find(ListBox1, lookat:=xlWhole).Select
[/vba]
P.S. Ваша "юзерформа" и ваши макросы не приложились - они у вас в другом файле, что ли?
Исправьте свой пост - заключите примеры кода в тэг "Код VBA" (кнопочка # при редактировании).
"B6" - это не столбец, а ячейка. Таким образом, если вы хотите искать "в столбце B, начиная с ячейки B6, и до первой пустой ячейки", то в коде должно быть написано: [vba]
Код
x = Range("B6", Cells(Rows.Count, 2).End(xlUp)).Value ' B6 - начало списка, 2 - это столбец B
[/vba]и [vba]
Код
Columns(2).Find(ListBox1, lookat:=xlWhole).Select
[/vba]
P.S. Ваша "юзерформа" и ваши макросы не приложились - они у вас в другом файле, что ли?AndreTM