Коллеги, в VBA не силен, поэтому идея с Find может быть глупой... Find привлек значительно более высокими скоростями поиска по сравнению с другими методами (например, с поиском в цикле, используя If).
Задача: имеем таблицу, в которой первый и второй столбец содержат уникальный цифровой ключ клиента (ключ состоит из двух частей), необходимо выбрать определенного клиента. Необходимо иметь в виду, что "половинки" ключа не уникальны - могут быть одинаковыми у разных клиентов - то есть нужно искать клиента именно по полному ключу). Если такая возможность для Find существует, то прошу поделиться примером кода.
Для наглядности предлагаю считать, что две переменные (половинки) ключа нам известны: Nm - код №1, а Nkl - код №2.
Если кому-то пригодиться, то вот оригинальный устаревший код, который искал информацию ориентируясь только на половинку кода - именно его я и адаптирую под текущую потребность.
Здесь old_wsh.Cells(oCell.Row,2).value - это переменная Nkl, Nm можно найти аналогично
Если Find не умеет искать по двум параметрам, то прошу подсказать другие быстрые методы (про СУММАМН для VBA знаю, именно ее и планирую использовать как запасной вариант, но, думаю, что Find будет быстрее).
Спасибо всем, кто откликнется.
Задача: имеем таблицу, в которой первый и второй столбец содержат уникальный цифровой ключ клиента (ключ состоит из двух частей), необходимо выбрать определенного клиента. Необходимо иметь в виду, что "половинки" ключа не уникальны - могут быть одинаковыми у разных клиентов - то есть нужно искать клиента именно по полному ключу). Если такая возможность для Find существует, то прошу поделиться примером кода.
Для наглядности предлагаю считать, что две переменные (половинки) ключа нам известны: Nm - код №1, а Nkl - код №2.
Если кому-то пригодиться, то вот оригинальный устаревший код, который искал информацию ориентируясь только на половинку кода - именно его я и адаптирую под текущую потребность.
Код |
---|
Set old_base_act = old_wb.sheets("База клиентов").Colomns(1).Find(what:=old_wsh.Cells(oCell.Row,2).value, Lookat:=xlWhole, Lookin:=xlFormulas) |
Если Find не умеет искать по двум параметрам, то прошу подсказать другие быстрые методы (про СУММАМН для VBA знаю, именно ее и планирую использовать как запасной вариант, но, думаю, что Find будет быстрее).
Спасибо всем, кто откликнется.