Richiamare macro da workbookscount
Hai un problema con Excel? 
Richiamare macro da workbooks.count
di giabon data: 21/05/2014 11:05:48
Buongiorno a tutti,
ho cercato un po' di soluzioni per richiamare una macro che ho su un file excel (il cui nome cambia ogni settimana in modo imprevedibile) e che in genere richiamo con il comando workbooks.count perchè lo apro come ultimo file, senza ricorrere al personal.xls
i comandi che ho trovato sono:
Application.Run "nomefile.xls!nomemacro" oppure
Call nomefoglio!nomemacro
ma non mettendo il nome del file non funziona, anche avendo messo public davanti alla macro da richiamare...
Qualcuno mi potrebbe dare una mano?
Grazie in anticipo
Giab
Sub avviamacro()
Workbooks(Workbooks.Count).Activate
Application.Run nomemacro
End Sub |
di lepat (utente non iscritto) data: 21/05/2014 11:38:17
spiega meglio il contesto e l'obiettivo, io non ho capito niente
di giabon data: 21/05/2014 12:05:30
Mi scuso, ci riprovo
Mi trovo sul file dati.xls e vorrei creare una macro per richiamare la macro "azione" presente nel file pippo.xls
il comando sarebbe
Application.Run "dati.xls!azione"
il mio problema è che il file dati.xls cambia ogni settimana di nome e quindi non posso citarlo nel comando application.run
Non posso inoltre salvare la macro "azione" in personal.xls perchè i file girano su altri computer a cui non posso chiedere di inserire la macro nel loro personal.xls.
Spero di esser stato più chiaro, grazie lepat per la tua attenzione
Giab
di Lucas87 data: 21/05/2014 12:12:22
Ciao
1 -Non capisco il senso di avviare una macro che si trova su un altro file...
Scrivi la macro in questione su quella principale e cambi i riferimenti al file su cui lavora.
2 -Non puoi lavorare su un file di cui non conosci il nome. Se il nome del file avesse una parte fissa e diversa dagli altri file credo si potrebbero scorrere i file aperti (o anche quelli chiusi in una cartella) e cercare quello che ha nel nome la parte fissa:
file1
file2
file3
filePippo
Cerco il file che nel nome ha Pippo e agisco su quello
di lepat (utente non iscritto) data: 21/05/2014 12:22:34
il file di cui non conosci il nome è già aperto ? chi lo apre ? sono aperti soltanto lui e dati.xls ?
di giabon (utente non iscritto) data: 21/05/2014 12:37:06
@lepat:
il file di cui non conosco il nome è già aperto da chi apre il file dati e lo apre come utlimo, per cui riesco sempre ad identificarlo bene utilizzando il comando
Workbooks(Workbooks.Count).Activate
@Lucas87
riscrivere la macro del file che cambia nome sul file principale mi comporta in primo luogo il problema che ad ogni cambio della macro devo cambiarla in due posti diversi e poi che nella macro ci sono comandi che non saprei facilmente "adattare" come ad esempio la creazione di nomi
non vi sono parti fisse nel nome del file, a volte cambia un rifermento di data a volte viene riscritto il nome in modo diverso
Grazie per l'attenzione
di lepat (utente non iscritto) data: 21/05/2014 16:18:57
prova così
Sub avviamacro()
Workbooks(Workbooks.Count).Activate
nn = ActiveWorkbook.Name
Application.Run "'" & nn & "'!nomemacro"
End Sub |
di giabon data: 22/05/2014 02:10:24
Mitico lepat! Era proprio quello che cercavo! Grazie ancora una volta
Vuoi Approfondire?