Estou tentando chamar um submarino em uma folha de trabalho diferente, mas recebi uma mensagem de erro de tempo de execução.
Especificamente, tenho duas folhas de trabalho e várias subfichas VBA nessas folhas de trabalho. Em uma das folhas de trabalho do Projeto VBA (digamos workbook1.xlsm), eu tenho o seguinte código:
Sub AnalysisTableMacro()
Workbooks("Python solution macro.xlsm").Activate
Application.Run "Python solution macro.xlsm!.PreparetheTables"
End Sub
Mas eu tenho o seguinte erro. As macros em ambas as folhas de trabalho estão activadas. Em ambas as folhas de trabalho, os submarinos estão no Módulo 1.
Não é possível executar a macro 'Workbook.xlsm!PrepareAsTabelas'. A macro pode não estar disponível em > esta pasta de trabalho ou todas as macros podem estar desativadas.
Eu também tentei Application.Run "Python solution macro.xlsm!Module1.PreparetheTables"
mas não funcionou.
Por Microsoft's KB, tente permitir o acesso programático ao projeto Visual Basic:
Clique no botão Microsoft Office e, em seguida, clique em Opções do Excel. 2. Clique em Trust Center. 3. 3. Clique em Trust Center Settings. 4. Clique em Configurações de macro. 5. Clique para selecionar a caixa de seleção Trust access to the VBA project object model. 6. Clique em OK para fechar a caixa de diálogo Opções do Excel. 7. Você pode precisar fechar e reabrir o Excel.
Apague a macro do seu nome e construa novamente. Eu fiz isto, e a macro funcionou.
Eu tive o mesmo problema que a OP e descobri que foi devido à declaração de opções estar mal escrita:
' Comment comment
Options Explicit
Sub someMacroMakechart()
em um sub módulo, em vez de correto;
' Comment comment
Option Explicit
Sub someMacroMakechart()