Avviare Macro presente in una altro foglio Excel



  • Avviare Macro presente in una altro foglio Excel
    di bellared data: 28/12/2016 15:36:49

    Ciao a tutti,

    sto definendo un codice che mi permetta di aprire un'altra cartella di lavoro e avviare una macro contenuta in essa. Cercando in rete ho trovato il comando:

    Application.Run "'C:Cartel2.XLS'!ThisWorkbook.NameMacro"

    ma non riesco ad adattarla al mio codice in quanto la directory "C:..." io la definisco attraverso il comando ThisWorkbook.Path che non mi permette di inserire l'apice singolo necessario in questo tipo di istruzione.
    Mi sapreste dare un consiglio?
    Intanto vi allego la struttura del codice che sto utilizzando:
     
        Dim MyPath As String    
        Dim MyFileName_TAB As String
        Dim MyFileName_NL As String
    
        MyPath = ThisWorkbook.Path & ""
        MyFileName_TAB = "Tab Pilota v2.xlsm"
        MyFileName_NL = "N_LIFE_v27.xlsb"
    
        Workbooks.Open Filename:=MyPath & MyFileName_NL
        Application.Run MyPath & MyFileName_NL & "!ThisWorkbook.Change_Data"



  • di patel data: 28/12/2016 19:39:59

    prova
     
    Application.Run  "'" & MyFileName_NL & "'!Change_Data"






  • di bellared data: 28/12/2016 22:28:58

    Si, funziona...
    Ora capisco, stavo ripetendo due volte la directory...

    Ora che non si blocca mi sono reso conto che processando con F8, subito dopo il comando:

    Workbooks.Open Filename:=MyPath & MyFileName_NL

    automaticamente passa ad un altro modulo dove ho definito una "Function", la ripercorre tutta e torna poi sul codice che esegue l'istruzione che mi hai aiutato a definire. Ora, siccome nel corso della run non utilizzo mai questa funzione e dato che la macro è già lunga di per se, vorrei evitare questo passaggio ulteriore e ti chiederei se sai come posso disattivarla o inibirla temporaneamente.

    Spero di essermi spiegato