Как вызвать макрос из другого модуля, но запустить на другом листе - PullRequest
0 голосов
/ 21 октября 2019

У меня есть макрос, который выполняет некоторые вычисления, который находится в модуле на листе «Оптимум» (кстати, я не хочу, чтобы пользователь имел доступ к этому листу). У меня есть 5 других листов, скажем, под названием "p1" "p2" "p3" "p4" "p5", где пользователь может вводить данные.

Начиная с "p1". Пользователь вводит данные и данные копирует в «Оптимальный» лист и расчеты сделаны.

Проблема в том, что таблица результатов и расчетов «Оптимум» отображается в «p1», а не ввообще ничего не показывая.

Я пробую Application.Run и Call, но я понимаю, что это просто вызывает макрос для активной рабочей таблицы, в которой вы находитесь, поэтому моя проблема.

Sub Macroforp1()

Sheets("p1").Range("TablePV1").Copy Destination:=Sheets("Optimum").Range("TableOptimum")
'
'
Call Optimum_module.TestCalc
'
End Sub

Я ожидаю, что код просто соберет ввод с того листа, на котором я нахожусь, проведу вычисления на «Оптимальном» и все. (Позже я возьму определенный ряд результатов для вставки в упомянутые мной листы).

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