Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Выполнение в процессе ввода / 8 сообщений из 8, страница 1 из 1
05.06.2014, 18:33
    #38662884
Anekto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение в процессе ввода
В общем такая проблемка, какими средствами VBA(Excel 2013) можно отследить определенное изменение в ячейке в данный момент и выполнить условие, при данном измении. То есть Не ПОСЛЕ ТОГО, как произошел переход на другую ячейку, а сразу же. Т.е.
Код: vbnet
1.
Worksheet_Change(ByVal Target As Range)

не работает т.к. выполняется ПОСЛЕ перехода на другую ячейку.

Приведу пример.

Вводится число, если количество знаков в числе равно 8 - переход на ячейку ниже.

Ну или конкретный пример. Сканер штрихкода сканирует штрихкод(8 цифр) и эта ячейка остается выделена, пользователю придется жать Enter каждый раз, что недопустимо.
...
Рейтинг: 0 / 0
05.06.2014, 19:54
    #38662929
капитанская дочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение в процессе ввода
Anekto,

мелкомягкие не догадались добавить ивенты для range так что ищи другие пути
...
Рейтинг: 0 / 0
05.06.2014, 20:39
    #38662964
Anekto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение в процессе ввода
капитанская дочка,

Другой путь - обратиться на форум за помощью.

А если серьезно, то надо юзать WinApi получается, раз в VBA нету этого?
...
Рейтинг: 0 / 0
06.06.2014, 13:47
    #38663569
basicv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение в процессе ввода
Anekto,

на сколько знаю, большинство сканеров позволяют конфигурировать добавлять CRLF после чтения или нет.
...
Рейтинг: 0 / 0
06.06.2014, 13:48
    #38663571
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение в процессе ввода
basicvна сколько знаю, большинство сканеров позволяют конфигурировать добавлять CRLF после чтения или нет.
+1
...
Рейтинг: 0 / 0
06.06.2014, 14:13
    #38663598
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение в процессе ввода
Anekto,

API тоже не поможет. Во время редактирования данных непосредственно в ячейке - VBA вообще ничего сделать не сможет.
Попробуйте записать в обычный модуль такую процедуру:
Код: vbnet
1.
2.
3.
4.
Sub test()
MsgBox "Что-то все же происходит"
Application.OnTime Now + TimeValue("00:00:03"), "test"
End Sub



Запустите. По логике каждые 3 сек будете видеть сообщение. Но если войдете в режим редактирования ячейки - то все, VBA будет ждать, пока завершите редактирование.

Т.е. VBA здесь вообще никак не поможет, с API или без него.
...
Рейтинг: 0 / 0
06.06.2014, 14:15
    #38663601
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение в процессе ввода
Кстати, если все ради сканера - то можно сделать отдельную форму с TextBox и уже событие изменения в TextBox отслеживать. Это сработает.
Или элемент TextBox на листе.
...
Рейтинг: 0 / 0
06.06.2014, 17:09
    #38663941
Anekto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение в процессе ввода
The_Prist,

Да уж, печально. Ну тогда надежда на сканер, доделаю программу и буду тогда уж сканер мучать.

Спасибо, дальше сам разберусь, думаю тема закрыта.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Выполнение в процессе ввода / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]