Excel VBA Макросы. Программирование "RefEdit" на форме.

Автор Бант, 13 мая 2014, 10:52

Бант

Как в VBA запрограммировать кнопки на форме, которые выбирают диапазон?

Администратор

Я недавно хотел использовать в макросе такие кнопки, но столкнулся с проблемами.
Этот элемент управления называется "RefEdit".

"RefEdit" работает только с одним Excel-файлом - если будет открыто два Excel-файла, и вы захотите перемещаться по этим файлам и выбирать ячейки, то не получится.
Даже если нужно будет работать с одним файлом, то вряд ли можно использовать "RefEdit" - вдруг пользователь случайно перейдёт на другой файл. Если нужно будет использовать "RefEdit", нужно сделать так, чтобы пользователь не мог перейти на другой файл. Не знаю, как это сделать. Вероятно, нужно использовать API-функции, чтобы отслеживать перемещение курсора мыши, но на другой файл можно переключиться ещё и клавишами. Поэтому очень сложная и редкая задача.

Я использую вместо "RefEdit" немодальную форму, текстовое поле и кнопку (см. вложенный файл). Работает так:
  • пользователь выделяет нужную Excel-ячейку;
  • нажимает кнопку и в поле появляются данные по выбранной ячейке.
Может быть я что-то не так делал с "RefEdit", но пока решил не пользоваться им.