Sto cercando di chiamare un sub su un altro foglio di lavoro, ma ho ricevuto un messaggio di errore di run time.
In particolare, ho due fogli di lavoro e più sub VBA in quei fogli di lavoro. In uno dei progetti VBA (diciamo workbook1.xlsm), ho il seguente codice:
Sub AnalysisTableMacro()
Workbooks("Python solution macro.xlsm").Activate
Application.Run "Python solution macro.xlsm!.PreparetheTables"
End Sub
Ma ho il seguente errore. Le macro in entrambi i fogli di lavoro sono abilitate. In entrambi i fogli di lavoro, i subs sono nel Modulo1.
Impossibile eseguire la macro 'Workbook.xlsm!PrepareTheTables'. La macro potrebbe non essere disponibile in >questa cartella di lavoro o tutte le macro potrebbero essere disabilitate.
Ho provato anche Application.Run "Python solution macro.xlsm!Module1.PreparetheTables"
ma non ha funzionato.
Per Microsoft'KB, provate a permettere l'accesso programmatico al progetto Visual Basic:
Cancellare la macro del nome e costruire di nuovo. Ho fatto questo e la macro ha funzionato.
Ho avuto lo stesso problema di OP e ho scoperto che era dovuto al fatto che la dichiarazione delle opzioni era scritta male:
' Comment comment
Options Explicit
Sub someMacroMakechart()
in un sotto modulo, invece che corretto;
' Comment comment
Option Explicit
Sub someMacroMakechart()