Sostieni Excel VBA con una donazione! Con la tua donazione potrai contribuire al mantenimento del servizio.
Le donazioni sono eseguite con PayPal, il modo più facile, comodo e sicuro per pagare online.
Paypal accetta anche carta di credito o carte prepagate.

Avviare Macro presente in una altro foglio Excel

  • FILE ALLEGATI:
  • Avviare Macro presente in una altro foglio Excel (Excel 2013) di bellared (Utente) 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 (Utente esperto) data: 28/12/2016 19:39:59 



    prova
     
    Application.Run  "'" & MyFileName_NL & "'!Change_Data"
  • di bellared (Utente) 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
  • torna su

Sostieni Excel VBA con una donazione! Con la tua donazione potrai contribuire al mantenimento del servizio.
Le donazioni sono eseguite con PayPal, il modo più facile, comodo e sicuro per pagare online.
Paypal accetta anche carta di credito o carte prepagate.