Уважаемые форумчане, я всё по тому же сообщению #53. Всё работает прекрасно. Подскажите пожалуйста, какие изменения нужно внести в код, чтобы поиск производить с таблицы, где результатами являются значения формул?
Код
Private Sub TextBox1_Change()
Dim X, i, txt As String, lt, s As String
If Len(TextBox1.Text) = 0 Or bu Then Exit Sub
txt = TextBox1.Text
lt = Len(TextBox1.Text)
X = Sheets("Прайс с поиском").Columns(5).SpecialCells(2).Value
For i = 1 To Sheets("Прайс с поиском").Cells(Rows.Count, 5).End(xlUp).Row
If InStr(1, UCase(Sheets("Прайс с поиском").Cells(i, 5)), UCase(TextBox1.Value)) > 0 Then s = s & X(i, 1) & "~" 'формирует по сочетанию букв в любом месте текста
Next i
ListBox1.List = Split(s, "~")
End Sub
,может вообще удалить if? Сейчас выглядит странно: Если ячейка пустая и Не пустая. Тут должно быть "или", ну или вообще не должно быть условия т.к. вы охватываете все варианты и пусто и НЕпусто.
невозможное делаем сразу, чудо - требует небольшой подготовки.
phelex, нужны все варианты и пусто и НЕпусто, какие в таком случае нужно внести изменения? И вот вопрос, сообщение #61, чтобы поиск производить с таблицы, где результатами являются значения формул?
Здравствуйте! Подскажите пожалуйста как связать между собой боксы, либо альтернативное решение, задача: есть список категорий и к каждому списку категорий есть свой список (к примеру категория Томат и список сортов к нему. по итогу в таблице ввода нужно чтобы можно было вводить категории из всех имеющихся с возможностью поиска по части слова. В соседнем столбце Сорт при вводе из списка значений с возможностью поиска выводился и использовался только список соответствующий указанной Категории. пример: в столбце таблицы Категория указал Томат, в соседнем столбце использовался список Сортов только Томата.
Добрый день. помогите пожалуйста не работает... сам макрос пытался вставить в лист ЦППН в РМЦ, но постоянно ошибка. с чем связано не пойму. Нужно что бы список выпадающий появлялся в ячейках "Ответственный за подготовку" и "Ответственный за проведение" данные для списка на листе "Для работы"
написал: А где на листе ТекстБокс и ЛистБокс? Вы же в коде обращаетесь к объектам, которые отсутствуют.
Добрый вечер. не могу понять о чем вы? вроде раньше брал пример подставлял под себя. Работало... Сейчас не хочет
Вроде же я указал лист от куда нужно брать данные. А вот куда их подставлять в конкретный лист не могу понять как сделать. ------ не как не могу понять как на листе создать TextBox и listbox. понял что в коде ошибка что переменные указаны для не существующий объектов.
Добрый вечер! Значит в примере, с которым Вы работали, эти контролы TextBox1 и ListBox1 на листе имелись. А в прикреплённом файле их нет. Попробуйте добавить их на лист.
написал: Добрый вечер! Значит в примере, с которым Вы работали, эти контролы TextBox1 и ListBox1 на листе имелись. А в прикреплённом файле их нет. Попробуйте добавить их на лист.
вот эти данные тоже есть на листе
Код
Private Sub TextBox1_change()
Dim X, i, txt As String, lt, s As String, sn As String, NomStolbDan As Long
sn = "Данные" ' Имя листа с данными
If Len(TextBox1.Text) = 0 Or bu Then Exit Sub
txt = TextBox1.Text
lt = Len(TextBox1.Text)
NomStolbDan = ActiveCell.Column
X = Sheets(sn).Columns(NomStolbDan).SpecialCells(2).Value
For i = 1 To Sheets(sn).Cells(Rows.Count, NomStolbDan).End(xlUp).Row
If InStr(1, UCase(Sheets(sn).Cells(i, NomStolbDan)), UCase(TextBox1.Value)) > 0 Then s = s & X(i, 1) & "~" 'формирует по сочетанию букв в любом месте текста
'If UCase(txt) = UCase(Mid(Sheets("Данные").Cells(i, NomStolbDan), 1, lt)) Then s = s & X(i, 1) & "~" 'формирует по сочетанию букв в начале текста
Next i
ListBox1.List = Split(s, "~")
End Sub
Private Sub ListBox1_Click()
If ListBox1.ListIndex = -1 Then Exit Sub
bu = True
ActiveCell.Value = ListBox1.Value
Me.TextBox1.Visible = False
Me.ListBox1.Visible = False
bu = False
End Sub
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
написал: Причем тут данные? И не на листе, а в модуле листа. Это не данные - это тексты макросов. А я говорю Вам про объекты\
Добрый вечер форму TextBox1 и ListBox1. Добавил на лист. Понял в чем проблема. Но дальше опять ошибки... Начинаю вводить данные а имена не те выходят, а иногда выпадает ошибка. Подскажите пожалуйста куда смотреть еще?
Уважаемые форумчане! Очень вас прошу помочь в моем вопросе. Прошу более опытных пользователей дать вектор движения по которому двигаться. Очень надеюсь на Вас. Заранее большое спасибо Вам.
написал: X = Sheets("Для работы").Columns(NomStolbDan).SpecialCells(2).Value For i = 1 To UBound(X) If InStr(1, UCase(X(i, 1)), UCase(TextBox1.Value)) > 0 Then
Возник вопрос, а можно ли сделать так , что если данных которые вносятся в эту форму нет в источнике, что бы они автоматом добавлялись в источник? Заранее спасибо за ответ.
На днях создавал прйс-лист с использованием выпадающего списка (далее - ВС) ВС необходим с автопоиском в ячейке.
Задача такая: При наборе текста (или любых знаков которые имеются в выпадающем списке) в ячейке с заранее настроенным ВС , Excel сам разворачивает список и показывает только те позиции в списке которые содержат искомый символ (или сочетание символов) . По мере набора текста список сокращается до тех пор пока не достигнет уникальности (т.е. пока не останется единственная позиция соответствующая запросу)
И да, конечно, такая задача не один раз описывалась на форуме и на данном ресурсе. И решений есть куча Но тупик ситуации в том, что данная задача была реализована и успешно работала! При чём реализована была самый простым способом т.е. через "Данные - проверка Данный - Список" без использование каких-либо макросов, формул, танцев, с бубном и т.д. И успешно работало с базой данный на более чем 2000 позиций.
Работал я на только купленном, "свежем" ПК с установленным "Office 365 Business" Но в один момент автопоиск работать перестал после того, как тот же файл был открыт через облако и пере сохранён на другом, личном, ПК. Версия "Офис" на всех ПК стоит "Office 365 Business" После пере-сохранения ни на одном ПК автопоиск работать перестал .... фантастика.
И я бы не против заморозиться и применить один из методов описанных на данном ресурсе, но зачем, если оно и так работало прекрасно ... Т.е повторюсь,"Офис" уже был с допиленными возможностями автопоиска ВС. И что случилось - хз то ли обновился офис как-то криво, толи настройка какая-то слетела.
Если кому-то покажется историей выдуманной или шуткой - прошу воздержаться от комментариев. Прошу помочь советом : кто сталкивался с подобной ситуацией и как вернуть всё обратно. Спасибо заранее.