Доброго времени суток 2003 Дано таблица 7тыс. позиций (с возможным расширением) Поиск изделия осуществляется через PIN ,который вводится в поисковую ячейку. УФ прекрасно справляется с поиском. к сожалению, еще не придумали скролинг с моторчиком, а прокручивать пальцем 7 тыс строк ... Помогает ПОИСКПОЗ() но здесь есть "подводные камни" . Одно и тоже изделие ( с одинаковым PIN-ом выпускают три производителя. УФ находит все три позиции, но они разбросаны по по всему списку ХОЧУ чтобы машина написала номера всех 3-х "цветных строчек"
Доброго времени суток 2003 Дано таблица 7тыс. позиций (с возможным расширением) Поиск изделия осуществляется через PIN ,который вводится в поисковую ячейку. УФ прекрасно справляется с поиском. к сожалению, еще не придумали скролинг с моторчиком, а прокручивать пальцем 7 тыс строк ... Помогает ПОИСКПОЗ() но здесь есть "подводные камни" . Одно и тоже изделие ( с одинаковым PIN-ом выпускают три производителя. УФ находит все три позиции, но они разбросаны по по всему списку ХОЧУ чтобы машина написала номера всех 3-х "цветных строчек"0mega
УФ находит нужные мне строки. Но список очень большой . Может получится так что нужная информация будет в конце списка. Необходимо продублировать текстом и указать номер строки Поэтому в ячейке D3 используется: =ПОИСКПОЗ(B3;B6:B20;0)+5 В итоге получается "8" В 8-ой строке есть нужная мне информация. Но поисковое значение встречается 3 раза, а машина нашла только первый адрес. Мне надо чтобы машина написала все три строки (8,12 и 13)
УФ находит нужные мне строки. Но список очень большой . Может получится так что нужная информация будет в конце списка. Необходимо продублировать текстом и указать номер строки Поэтому в ячейке D3 используется: =ПОИСКПОЗ(B3;B6:B20;0)+5 В итоге получается "8" В 8-ой строке есть нужная мне информация. Но поисковое значение встречается 3 раза, а машина нашла только первый адрес. Мне надо чтобы машина написала все три строки (8,12 и 13)0mega
Сообщение отредактировал 0mega - Суббота, 23.04.2011, 23:35
Приветствую всех! 0mega представил очень актуальный для меня вопрос! А Serge_007 выложил решение, которое мне подходит. Только что-то несовсем понятно, что там происходит с УФ, (смотри пример). Почему, например, подсвечиваются 86 и 486?
Приветствую всех! 0mega представил очень актуальный для меня вопрос! А Serge_007 выложил решение, которое мне подходит. Только что-то несовсем понятно, что там происходит с УФ, (смотри пример). Почему, например, подсвечиваются 86 и 486?Мур
Еще было бы любобытно узнать как потом использовать &, чтобы вывести полученные значения в одну ячейку в виде "Указанная позиция находятся на n1, n2, n3 строках"
Еще было бы любобытно узнать как потом использовать &, чтобы вывести полученные значения в одну ячейку в виде "Указанная позиция находятся на n1, n2, n3 строках"Мур
Потому что функция ПОИСК ищет вхождение искомого текста в текстовую строку, а 86 входит как в 86, так и в 486 (или, например, в 20428608). Правильно формула для УФ будет выглядеть так:
Code
=$B$3=B6
Ну или так:
Code
=СОВПАД($B$3;B6)
Quote (Мур)
Почему, например, подсвечиваются 86 и 486?
Потому что функция ПОИСК ищет вхождение искомого текста в текстовую строку, а 86 входит как в 86, так и в 486 (или, например, в 20428608). Правильно формула для УФ будет выглядеть так:
.... А почему Вы не пользуетесь автофильтром или расширенным фильтром? По-моему, для Вас это самый удобный вариант. Можно сразу несколько выбирать. И смотреть удобно.
.... А почему Вы не пользуетесь автофильтром или расширенным фильтром? По-моему, для Вас это самый удобный вариант. Можно сразу несколько выбирать. И смотреть удобно.DV
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(0, 0) <> "B3" Then Exit Sub If Target = "" Then Me.AutoFilterMode = 0: Exit Sub Me.[B5].CurrentRegion.AutoFilter 1, [B3] End Sub
Я бы так делал:
Code
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(0, 0) <> "B3" Then Exit Sub If Target = "" Then Me.AutoFilterMode = 0: Exit Sub Me.[B5].CurrentRegion.AutoFilter 1, [B3] End Sub
Уважаемый, DV, изначально требовалость найти не количество заданных значений, а номера строк, в которых они находятся. Я задал вопрос насчет УФ, потому, что мне показалось, что там неточность при определении подсвечиваемых ячеек.
Уважаемый, DV, изначально требовалость найти не количество заданных значений, а номера строк, в которых они находятся. Я задал вопрос насчет УФ, потому, что мне показалось, что там неточность при определении подсвечиваемых ячеек.Мур
что такое UDF я тока догадываюсь, про функцию сцепить_массив первый раз слышу. Куда нужно скопировать на другом компе, код
Code
Function
что-бы, появилась эта пользовательсткая функция?
UDF - User Definition Function, т.е. функция определённая пользователем, т.е. код ВБА, написанный самим пользователем. Код находится в стандартном модуле, посмотреть его можно в редакторе ВБА, нажав Alt+F11.
Quote (Мур)
что такое UDF я тока догадываюсь, про функцию сцепить_массив первый раз слышу. Куда нужно скопировать на другом компе, код
Code
Function
что-бы, появилась эта пользовательсткая функция?
UDF - User Definition Function, т.е. функция определённая пользователем, т.е. код ВБА, написанный самим пользователем. Код находится в стандартном модуле, посмотреть его можно в редакторе ВБА, нажав Alt+F11.