Как я могу вызвать макрос (используемый в другом листе) из другого листа в той же книге

У меня есть файл Excel, в котором у меня есть два взаимосвязанных листа. Первый называется "Анализ", в котором у меня есть сводная таблица и дополнительные результаты, полученные из второго листа "Статистика", в котором есть некоторые прогнозные модели, которые сравниваются друг с другом, и изображен результат из лучших. в "Анализ". Кроме того, я создал макрос на листе "Статистика", чтобы использовать Солвер и быстрее вычислять параметры модели и результаты. Однако я стараюсь перенести макрос на лист "Анализ", чтобы скрыть "Статистику" и иметь только один лист, который я могу использовать.

Однако я не могу сделать это, потому что, когда я вызываю макрос из листа "Анализ", я вижу, что, хотя решатель работает, параметры модели не меняются. Если я нахожусь в листе ("Статистика"), где макрос был изначально создан, все в порядке.

У кого-нибудь есть ценный совет относительно того, как я могу решить эту проблему?

Примечания: код vba написан на стандартных модулях, и каждая подпрограмма связана с ячейками, изображенными на листе "Статистика".

Я хотел бы заранее поблагодарить вас за ваш ответ!

С Уважением,

Майк

1 ответ

Я не уверен в этом, но у вас могут быть строки в макросе, которые могут использовать объекты ActiveSheet или Selection. Поэтому, когда вы запускаете макрос из листа статистики, вы получаете текущие значения для этих объектов, а когда вы запускаете тот же макрос из листа анализа, вы получаете неправильные значения этих объектов.

Примечание: если вы записали макрос, то у вас точно есть эти объекты.

Другие вопросы по тегам