2015-04-25 10 views
0

У меня есть две книги с VBA. Я хотел бы передать значение, возвращенное из wbA! VBA1 в wbB! VBA2; обе книги будут работать под одним и тем же приложением Excel. !Возвращаемое значение из одной книги «VBA в другую книгу» VBA

Например, в VBA1 версии WBA, есть

x = function(), который будет возвращать целое число 0, если выполняется успешно;

Я хочу передать возвращаемое значение 0 в wbB! VBA2 для других операций.

+0

Как вы называете функции? Можете ли вы опубликовать код? – Comintern

+0

@Comintern 'x = function()' – lovechillcool

+1

Я видел это уже - можете ли вы разместить код, который окружает 'x = function()'? Неясно, находится ли это внутри функции VBA, формулы ячейки, вызванной через Interop и т. Д. – Comintern

ответ

1

Из того, что я вижу, что вы просите. Вы хотите иметь возможность хранить переменную из WbA внутри VBA и просматривать ее в VBA в WbB. Насколько я знаю, это было бы невозможно, поскольку переменные создаются во время выполнения. Как только процесс завершится, все переменные будут очищены. Одна вещь, на которую нужно обратить внимание, - запустить VBA в wbA и сохранить все переменные, которые вам нужны, в очень скрытом листе. Таким образом, в wbB вы можете вызвать VBA для этого, а затем получить переменные, которые вы сохранили в очень скрытом листе.

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

Или другим способом было бы сохранить код в личной макро-книге или другой книге, тогда вам нужно будет установить ссылки на wbA и wbB. Затем код будет запускаться поочередно, а затем вы можете просмотреть переменные в VBA.

Смежные вопросы