Здравствуйте! Прощу помощи. Макрос VBA должен срабатывать при появлении новой информации в буфере обмена из стороннего приложения. В буфер из приложения приходит 1 строка из 2х столбцов. В 1ом цифры (положительные или отрицательные) с разделителем в виде точки или запятой (в зависимости от локали). Второй столбец с любым текстом необходимо отбросить. При приходе информации состоящей из других данных (не их 1 строки и 2 столбцов) - ничего автоматически не вставлять из буфера обмена в активную ячейку. После вставки новой пришедшей инфо из буфера обмена в активную на текущий момент ячейку (при нахождении курсора в столбцах D-Q на активном листе всех листов книги) необходимо переместить активную ячейку вниз на 1 строку и ожидать поступления новых данных из буфера обмена. При невыполнении условия нахождения текущей выбранной ячейки в диапазоне - ничего не вставлять. Макрос необходимо выполнять на активном листе книги (при нахождении курсора в столбцах D-Q) при появление новых данных в буфере примерно раз в 10-20 сек. То что в файле - как работает сейчас при ручной вставке из буфера обмена. Спасибо.
Как вариант, запускать макрос периодически, например, раз в секунду. Вставлять то, что есть в буфере обмена на временный лист. И дальше обрабатывать "обычным" макросом.
Я задачу не держу, так как нет уверенности, что предложенный вариант устраивает.
Извините, не подходит. Можно наверное сделать переменную связанную с буфером обмена и анализировать отличаются ли данные от предыдущего значения из буфера. При отличии в значении - выполнять внесение в ячейку. Сделать могу до 4 знака после разделителя и они всегда будут отличатся от прошлого.
Конечно устраивает периодический запуск. Иначе же не понять экселю, что инфо в буфере поменялась Сделаю быструю кнопку на включение и выключение работы макроса.