СообЧа > База Знаний > Программы > MS Excel

Вопрос

У меня есть таблица с данными в Excele. В одной из колонок — артикулы товара. Хотелось бы узнать, как в Excele можно осуществить поиск номеров артикулов в колонке таким образом, чтобы номер артикула вводить в одной определJнной ячейке (например А1), а найденная ячейка в столбце с таким же номером артикула как в А1 выделялась, либо туда переходил бы курсор.

Ответ

Заходим в Excel, жмем ALT+F11 — попадаем в VBA. Далее жмем CTRL+R — открывается окно проекта. Кликаем на Лист1 и вставляем туда следующий код:

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target = [A1] And IsEmpty([A1]) = False Then _
[A2:A65535].Find([A1], [A2], xlValues, xlWhole, xlByColumns, , True).Select
End Sub

Диапазон ячеек и параметры поиска можно поменять при надобности. Если кратко, то
Find([A1], [A2], xlValues, xlWhole, xlByColumns, , True)
Поиск ячейки ([A1] — что именно ищем (значение ячейки А1), [A2] — после какой ячейки начинать поиск, xlValues — ищем значения, xlWhole — полное или частичное соответствие (xlPart — частичное. Если поставить, то по некоторым значениям найдет первую подход
ящую ячейку. Удобно, если много числовых значений в искомой ячейке), xlByColumns — порядок поиска (по столбцам — xlByColumns, по строкам — xlByRows), пропущенный параметр, True — различать или нет регистр символов поиска (допустим заглавная буква или не
т.False — наоборот).

Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация