Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.07.2019, 17:38   #1
aie.fineff
Пользователь
 
Регистрация: 02.07.2019
Сообщений: 25
По умолчанию Автоматический запуск макроса после закрытия окна "Параметры Excel" кнопкой "ОК"

Добрый день!


Скажите, пожалуйста, можно ли сделать так, чтобы после закрытия окна "Параметры Excel" кнопкой "ОК" (т.е. после внесения изменений в настройках файла Excel) автоматически запустился макрос?

Дело в том, что у меня в файле одном нельзя, чтобы после нажатия клавиши ВВОД курсор переходил на другую ячейку, иначе сбивается качество работы определенного макроса.
Установка возможности или запрета такого перехода осуществляется в параметрах Excel путем проставления/снятия соответствующего флажка.
Я хочу сделать так, чтобы, если кто-то из пользователей файла установит возможность этого перехода, сразу при нажатии кнопки "ок" окна, в котором был проставлен вышеуказанный флажок (окна "Параметры Excel"), запустился макрос на снятие данного флажка (установку запрета перехода на другую ячейку после нажатия клавиши ВВОД).

Грубо говоря - надо, чтобы если вдруг становится Application.MoveAfterReturn = True, сразу автоматически поменялось на Application.MoveAfterReturn = False.


Заранее спасибо!
aie.fineff вне форума Ответить с цитированием
Старый 11.07.2019, 17:41   #2
aie.fineff
Пользователь
 
Регистрация: 02.07.2019
Сообщений: 25
По умолчанию

Или может быть можно как-то сделать так, чтобы в Параметрах Excel нельзя было устанавливать/снимать флажки на пункте "Переход к другой ячейке после нажатия клавиши ВВОД"? Чтобы это поле было блокировано на изменения.
aie.fineff вне форума Ответить с цитированием
Старый 11.07.2019, 20:17   #3
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Какой триггер запуска "качественного макроса", может рассмотрите вариант чтобы тот макрос подредактировать?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 11.07.2019, 20:44   #4
Igor1961
Пользователь
 
Регистрация: 05.10.2015
Сообщений: 39
По умолчанию

Может, вот таким костылем кнопку "ОК" обмануть попробовать?
Код:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
   Worksheets("Лист1").Range("A1").Value = Target.Address  'записываем на скрытом листе
If Application.MoveAfterReturn = True Then
   Application.OnKey "~", "Module1.qqq"
End If
End Sub
Sub qqq()
    Dim sFin
    sFin = Worksheets("Лист1").Range("A1").Value
    ActiveSheet.Range(sFin).Select
    Application.MoveAfterReturn = False
End Sub
Вложения
Тип файла: xls Откл_переход.xls (48.5 Кб, 19 просмотров)
Igor1961 вне форума Ответить с цитированием
Старый 12.07.2019, 16:30   #5
aie.fineff
Пользователь
 
Регистрация: 02.07.2019
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Igor1961 Посмотреть сообщение
Может, вот таким костылем кнопку "ОК" обмануть попробовать?
Код:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
   Worksheets("Лист1").Range("A1").Value = Target.Address  'записываем на скрытом листе
If Application.MoveAfterReturn = True Then
   Application.OnKey "~", "Module1.qqq"
End If
End Sub
Sub qqq()
    Dim sFin
    sFin = Worksheets("Лист1").Range("A1").Value
    ActiveSheet.Range(sFin).Select
    Application.MoveAfterReturn = False
End Sub
Вот это ДА! Круто! Я просто в восторге! Все работает. Спасибо огромное!
aie.fineff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Убрать папки "Pictures", "Music", "Видео", "Downloads" из "МОЙ КОМПЬЮТЕР" Бахтиёр1916 Windows 1 05.04.2017 12:53
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") ZIRASS PHP 4 15.06.2016 14:23
Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" link90 Общие вопросы C/C++ 2 27.03.2016 12:34
Для заданной строки определить все входящие в неё символ. Например: строка "abccbbabbac" состоит из символов "a", "b" и "c" Sandakan01 Помощь студентам 1 24.02.2016 03:20
Постоянно слетает галочка "автоматически" в "Параметры Excel", "Формулы", "Вычисления в книге" Alexsandrr Microsoft Office Excel 4 19.10.2013 14:22