Как выполнить код VBA без открытия редактора Visual Basic - PullRequest
0 голосов
/ 04 ноября 2018

Я сейчас разрабатываю программу для чтения Excel.

Однако у меня есть несколько точек проверки, которые необходимо проверить как в Java, так и в Excel. Следовательно, я хочу, чтобы мой Excel проверил для меня некоторую простую логику в файле Excel.

Я собираюсь распространить свой файл Excel, который включает мой код VBA. Как мой пользователь выполняет код проверки?

Я не хочу, чтобы мой пользователь открыл редактор Visual Basic и запустил его - есть ли простой способ сделать это?

Я обнаружил, что есть способ вставить кнопку, это единственный способ?

Ответы [ 2 ]

0 голосов
/ 04 ноября 2018

Да, как Ламбик уже писал, есть много решений. В VBA много объектов и много событий

enter image description here

На этой картинке вы можете видеть свои объекты, я выбрал «Рабочий лист объекта», когда вы добавляете форму или кнопку, вы также можете найти эти объекты здесь, и есть много таких, как рабочая книга, рабочие таблицы, поля ввода, ячейки и итак один.

Когда ваши объекты выбраны слева, вы можете выбрать событие справа.

Когда вы добавляете кнопку и дважды щелкаете по ней или щелкаете правой кнопкой мыши и продолжаете редактировать код, это будет событие щелчка, но вы также можете выбрать событие двойного щелчка.

На экране выше у нас был лист объекта:

enter image description here

Когда вы сейчас выбрали активацию события, вы получите базовый суб-метод. Код внутри будет выполнен, когда вы активируете рабочий лист. Для лучшего понимания небольшой пример:

    Private Sub Worksheet_Activate()
      MsgBox "You just activated " & ActiveSheet.Name
    End Sub

Если вы хотите что-то сделать только при активации определенного рабочего листа, вы можете спросить, какой рабочий лист активирован, и только затем выполнить нужный код.

Точно так же, как вы можете использовать другие объекты и события.

0 голосов
/ 04 ноября 2018

Есть несколько вариантов: - вы можете сделать кнопку, как вы сказали - вы можете попросить пользователя выполнить макрос через вкладку разработчика - вы можете создать макрос, который выполняется после действия, например, активация листа, смена ячейки, открытие файла, ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...