Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Esecuzione macro in file xls diverso da quello attivo

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Esecuzione macro in file xls diverso da quello attivo

Postdi moguant » 02/02/11 23:45

Salve a tutti ... ho passato in rassegna tutte le pagine e non mi sembra di avere trovato una domanda/soluzione simile al seguente quesito ...

In un file excel che per comodità chiamo "A", ho attivato la seguente "Macro1"

Windows("A.xls").Activate
Application.OnTime Now + TimeValue("00:10:00"), "Macro1"
Range("A1").Select
Selection.Copy
Range("B1").Select
ActiveSheet.Paste
End Sub

Nel frattempo lavoro su un altro file excel che per comodità chiamo "B" ... e ovviamente ogni 10 minuti, sono costretto ad abbandonare il mio lavoro sul file "B", causa l'esecuzione della macro :aaah ... ho provato ad inserire "Select" al posto di "Activate", ma come immaginate il comando non viene riconosciuto :-? ... esiste qualcosa per ovviare all'inconveniente? e quale sarebbe?

E, quesito complementare e connesso, volendo lavorare su un foglio di lavoro diverso da un altro in cui viene eseguita la macro, all'interno dello stesso file?

Grazie per l'aiuto
moguant
Utente Junior
 
Post: 23
Iscritto il: 10/11/10 19:56

Sponsor
 

Re: Esecuzione macro in file xls diverso da quello attivo

Postdi Flash30005 » 03/02/11 03:15

In questo link http://www.pc-facile.com/forum/viewtopic.php?p=467110
troverai l'argomento per il tuo quesito (Attivare una macro da altro file)

Ma leggendo il tuo post credo che tu voglia far aggiornare tramite l'operazione copia i dati
Dal codice postato sembrerebbe che vengano copiati sullo stesso file della macro e stesso foglio attivo
Quindi inserirei la macro all'apertura del file specificando sia il file che il foglio del Range copia origine e incolla destinazione.
Tramite un'operazione pianificata di windows (ogni 10 minuti) avvierei il foglio A
e dopo 1 minuto chiuderei il foglio A (tramite macro contenuta nel foglio)

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Esecuzione macro in file xls diverso da quello attivo

Postdi moguant » 03/02/11 11:51

Ti ringrazio flash per la cortese risposta (a proposito, flash era uno dei miei fumetti preferiti :) qualche decade fa :( ) ... devo avere dato un'idea diversa di quella che è la mia problematica, e probabilmente a causa della mia incapacità di usare termini tecnici adeguati ... ripropongo in altri termini ... premetto che al momento ho 2 files xls aperti, uno (che chiamiamo A.xls) per l'archiviazione dei dati, e l'altro (che chiamiamo B.xls) per l'elaborazione degli stessi ... il motivo per cui ne ho creati 2 è piuttosto difficile da spiegare, ma è necessario che siano 2 diversi, e non 2 fogli dello stesso file ...

Nel file A.xls ho creato la macro che archivia i dati ogni 10 minuti (in realtà esistono diverse altre macro temporizzate), mentre nel file B.xls, che prende i dati da A.xls, vedo il risultato di tutti i calcoli, e con esso lavoro ...

Ovviamente, col comando Windows xxx.Activate, accade che al decimo minuto, il file B.xls cessa per qualche istante di essere attivo, per poi tornare ad esserlo, impedendomi però di potere effettuare i miei interventi ... essendo diverse le applicazioni temporizzate, e diverse con cadenze sparse nel corso di goni ora, diventa difficile potere lavorare serenamente sul file B.xls ... la mia domanda è se appunto esiste un comando per cui il file A.xls esegue le sue macro, senza interferire col file B.xls ... spero di avere chiarito i termini della mia domanda 'principale' ...

Poi, come domanda 'accessoria', se volessi fare eseguire nel file B.xls una macro sul foglio2, senza interferire sul foglio1? in pratica domanda uguale a quella 'principale', ma applicata a 2 fogli diversi dello stesso file ...
moguant
Utente Junior
 
Post: 23
Iscritto il: 10/11/10 19:56

Re: Esecuzione macro in file xls diverso da quello attivo

Postdi Anthony47 » 03/02/11 15:26

Devi modificare la tua macro affinche' indirizzi in modo esplicito file e foglio su cui deve lavorare, senza attivarli; ad esempio
Codice: Seleziona tutto
Application.OnTime Now + TimeValue("00:10:00"), "Macro1"
Workbook("A.xls").Sheets("QualeFoglio").Range("B1").value = Workbook("A.xls").Sheets("QualeFoglio").Range("A1").Value

A volte torna utile anche la proprieta0 ThisWorkbook, da usarsi al posto di Workbook("NomeFile.xls"), che fa riferimento al file in cui gira la macro.

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Esecuzione macro in file xls diverso da quello attivo":


Chi c’è in linea

Visitano il forum: patel e 14 ospiti