Sto provando a chiamare una macro di Excel che si trova in un'altra cartella di lavoro. È una macro specifica per il foglio, ma la sintassi fornita dalla documentazione di Microsoft e la ricerca sul Web forniscono solo un modo per accedere a una macro solo dalla cartella di lavoro. Che la sintassi è:Come chiamare la macro specifica del foglio da una cartella di lavoro di Excel in un'altra?
Application.Run ("testworkbook.xls!macroname")
Che cosa devo fare è avere un riferimento foglio c'è anche, qualcosa di simile:
Application.Run ("testworkbook.xls!Sheet1.macroname")
Ho provato questo e molte altre varianti, tra cui dover singola o doppia citazioni in là, ma ottengo sempre il messaggio che la macro non può essere trovata.
Edit: Con tutti gli indizi e le molte prove ho trovato la risposta. È possibile accedere ai sottotitoli specifici del foglio, ma è necessario utilizzare il nome canonico come "Foglio1", non è possibile utilizzare il nome del foglio effettivo. Apparentemente altre cartelle di lavoro non accedono a tali informazioni.
Così il formato di cui sopra funziona fino a quando non si tenta di utilizzare lo sheetname (e potrebbe essere necessario apostrofo il nome della cartella di lavoro (concatenando CHR(39)
alle estremità).
@Lance Roberts: la risposta qui sotto risponde alla tua domanda? –
@Otaku, sì, anche se ho finito usando solo il nome del foglio canonico. Ma mi piacciono tutte le informazioni che fornisci, quindi accetterò la tua risposta (l'avevo già svalutato). –
abbastanza giusto. Non sono sicuro che il nome del foglio canonico sia lo stesso per le UI non inglesi, se è qualcosa che devi affrontare, ma è rapido e semplice per questi scopi. apprecaiate l'accettazione/upvote. –