Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[excel] macro copia-incolla tra file diversi

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

[excel] macro copia-incolla tra file diversi

Postdi amil » 06/06/14 14:57

Buona giornata a tutti!
ho semplificato una domanda precedentemente postata in questi termini:
- partendo da "n" file, clicco su un tasto dovrei riuscire a copiare un intervallo di celle e ad ncollarle, in sequenza, all'interno di un unico file (che ho già precedentemente creato).
- questo file "riepilogativo" conterrà quindi tutti gli intervalli di celle copiati dai vari file.

Un problema: il file di destinazione "riepilogativo" si chiama sempre nello stesso modo ed è sempre nella stessa cartella ma utenti diversi potrebbero copiare la cartella in posizioni diverse...

Grazie a tutti!!!!
amil
Utente Junior
 
Post: 22
Iscritto il: 05/06/14 10:04

Sponsor
 

Re: [excel] macro copia-incolla tra file diversi

Postdi ricky53 » 06/06/14 15:39

Ciao,
che il file "RIEPILOGATIVO" sia in cartelle diverse NON è un problema, il problema nasce se i file dai quali copiare i dati sono in cartelle diverse e/o hanno nomi diversi da un utente all'altro.

Questa condizione si verifica con i tuoi utenti ???
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [excel] macro copia-incolla tra file diversi

Postdi amil » 06/06/14 15:45

NONO sono tutti nella stessa cartella. Il file di destinazione si chiama sempre nella stessa maniera.
I file di origine invece si chiamano in modo diverso. Ma parto da loro a fare il copia-incolla...
Speriamo...
(Grazie Ricky!)
amil
Utente Junior
 
Post: 22
Iscritto il: 05/06/14 10:04

Re: [excel] macro copia-incolla tra file diversi

Postdi amil » 06/06/14 16:36

Ah, due precisazioni:
1) l'intervallo di celle da copiare dovrebbe essere incollato come valori... e non con le formule contenute all'interno.
2) l'intervallo di celle da copiare (è una riga) dovrebbe incollarsi dopo la riga occupata in precedenza nel file di destinazione

(troppe richieste???)

Grazieeeee!!!
amil
Utente Junior
 
Post: 22
Iscritto il: 05/06/14 10:04

Re: [excel] macro copia-incolla tra file diversi

Postdi ricky53 » 06/06/14 23:18

Ciao,
puoi fare degli esempi concreti dei nomi di file, intervalli da cui copiare e cella di destinazione ?

Quanti sono i file dai quali copiare i dati?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [excel] macro copia-incolla tra file diversi

Postdi amil » 07/06/14 13:56

Certo!
Allora:
1) il nome del file d'origine si chiama (al momento) "Coaching Tool",
2) il foglio dove sono contenute le celle da copiare si chiama sempre "SetUpthePlan"
3) l'intervallo di celle da copiare è sempre il B3:L3 (avrei necessità di copiarne il contenuto e non le formule che lo generano)
4) il file di destinazione delle celle copiate si chiama sempre "Team Coaching Plan"(popolato da un unico foglio denominato "Sintesi")
5) le celle copiate, saranno da incollare nel foglio "Sintesi" a partire dalla riga F2:P2

In sintesi:
Io posso avere "n" file di origine con nomi diversi ma tutti, nel foglio "SetUpthePlan" avranno un intervallo di celle B3:L3 il cui contenuto è da copiare nel foglio "Sintesi", nel file "Team Coaching Plan". Ovviamente ogni intervallo di celle B3:L3 propeniente dai vari file si dovrà "accodare" alla riga precedentemente copiata.
In fine, l'ideale, sarebbe che al termine di ogni riga incollata mi venisse indicata la data in cui ho effettuato il "copia-incolla".

Ricky... spero di essere stata sufficientemente chiara...
Grazie e ciao
amil
Utente Junior
 
Post: 22
Iscritto il: 05/06/14 10:04

Re: [excel] macro copia-incolla tra file diversi

Postdi amil » 07/06/14 13:59

AH, un'ultima cosa:
1) la cartella dove sono contenuti i vari file si chiama sempre nella stessa maniera: "Coaching"
2) i file da cui sono copiate le celle dell'intervallo B3:L3 sono al massimo venti

Grazie!!!!
amil
Utente Junior
 
Post: 22
Iscritto il: 05/06/14 10:04

Re: [excel] macro copia-incolla tra file diversi

Postdi ricky53 » 07/06/14 18:40

Ciao,
adesso si che ci siamo.
Questa sera vedo di proporti qualcosa.
La logica elaborativa sarà:
1. aprire tutti i file presenti nella cartella "Coaching"
2. selezionare l'intervallo B3:L3 del foglio "Setuptheplan"
3. attivare il file Team Coaching Plan"
4. copiare i dati sulla prima riga libera della colonna "F" a partire dalla seconda riga (i dati saranno copiati nell'intervallo F..-P..")
5. inserire la data dell'operazione nella colonna "Q" sulla stessa riga degli altri dati
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [excel] macro copia-incolla tra file diversi

Postdi amil » 07/06/14 18:59

Sintesi perfetta!
amil
Utente Junior
 
Post: 22
Iscritto il: 05/06/14 10:04

Re: [excel] macro copia-incolla tra file diversi

Postdi ricky53 » 08/06/14 00:16

Ciao,
vorrei fare una premessa: se avessi fatto una ricerca nel forum avresti trovato vari quesiti molto simili al tuo e, con alcuni adattamenti, avresti avuto la soluzione che cercavi.
Ricordalo in futuro.

Detto ciò, da uno di questi interventi precedenti ho trovato una mia macro che avevo fornito ad un utente, con le necessarie modifiche ecco il risultato che ho ottenuto:
Codice: Seleziona tutto
Option Explicit

Public RR As Long, J As Long, Inizio As Double
Public MioPercorso As String, MioFile As String
Public Ws_In As Worksheet, Ws_Out As Worksheet

Sub Leggi_Dati_e_Copia_Celle()
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    Application.DisplayAlerts = False
   
    Inizio = Timer
   
    Sheets("Sintesi").Select
    Set Ws_Out = Sheets("Sintesi") ' <<===== QUI va il nome del foglio 'SUL' quale copiare i dati
   
    MioPercorso = "D:\Temp\" ' <<======== Qui devi scrivere il percorso dove hai i file "DAI" quali copiare i dati
    MioFile = Dir(MioPercorso & "*.xls*") ' <<======== Qui oltre al percorso va anche l'estensione dei file
   
    J = Ws_Out.Range("F" & Rows.Count).End(xlUp).Row + 1
    RR = J
    Do While MioFile <> ""
        Workbooks.Open Filename:=MioPercorso & MioFile
            Set Ws_In = Sheets("SetUpthePlan") ' <<===== QUI va il nome del foglio 'DAL' quale copiare i dati
        Ws_In.Range("B3:L3").Copy
        Ws_Out.Range("F" & J).PasteSpecial xlPasteValues
        Ws_Out.Range("Q" & J) = Date
        Windows(MioFile).Close savechanges:=False
        J = J + 1
        Application.CutCopyMode = False
       
        MioFile = Dir()
    Loop
   
    Set Ws_In = Nothing
    Set Ws_Out = Nothing
   
    Application.DisplayAlerts = True
    Application.EnableEvents = True
    Application.ScreenUpdating = True
   
    MsgBox "Effettuata elaborazione di  '" & J - RR & "'  file in  " & Format(Timer - Inizio, "0.00") & "  secondi"
End Sub

Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [excel] macro copia-incolla tra file diversi

Postdi amil » 08/06/14 09:36

Grazie Rick, ma il mio capo mi metteva una certa "pressione" nel risolvere la cosa e forse avrei dovuto guardare più attentamente nel forum.
Grazie ancora
Ciao
A
amil
Utente Junior
 
Post: 22
Iscritto il: 05/06/14 10:04

Re: [excel] macro copia-incolla tra file diversi

Postdi ricky53 » 08/06/14 14:38

Ciao,
ed in seguito alle pressioni cosa hai fatto?

Quanto ti ho inviato ti è utile?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [excel] macro copia-incolla tra file diversi

Postdi amil » 09/06/14 09:30

ehm... mi sono un po' sopravvalutata nel dare la mia disponibilità nel risolvere la cosa... :-(
Tu sei stato gentilissimo ma il tuo codice da "personalizzare" andava un po' oltre le mie capacità.
Comunque, grazie al fatto che ho detto che mi ero un po' informata sui vari forum, so che ha seguito la mia strada trovando una persona che ha dato una mano nel sistemare il tutto!
Io invece... studierò!
Ciao e grazie ancora
amil
Utente Junior
 
Post: 22
Iscritto il: 05/06/14 10:04

Re: [excel] macro copia-incolla tra file diversi

Postdi ricky53 » 09/06/14 11:20

ciao,
nel codice dovevi inserire solo il tuo percorso ... il resto sono commenti per aiutarti a capire un po' il flusso.
Non si deve mollare. Perchè non ci provi?

Comunque ci puoi dire come avete risolto?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [excel] macro copia-incolla tra file diversi

Postdi amil » 09/06/14 12:52

Ciao,
sì in effetti posso provarci... però non ho capito la questione del "timer" che torna varie volte nel tuo codice (il tempo però a me non interessa... posso cancellare tutto?) e l'altro problema sta nel fatto che io non posso indicare un percorso dato (MioPercorso = "D:\Temp\") ma solo il nome del file di destinazione, perché non posso prevedere dove l'utente installerà la mia cartella.
Ciao e grazie per l'incoraggiamento!

PS
tornando alla soluzione che è stata trovata, io in realtà non la conosco perché il contatto l'ha tenuto il mio boss... l'unica cosa che so è che la persona che ha risolto è stata contattata attraverso un forum analogo a questo
amil
Utente Junior
 
Post: 22
Iscritto il: 05/06/14 10:04

Re: [excel] macro copia-incolla tra file diversi

Postdi ricky53 » 09/06/14 14:37

Ciao,
il Timer serve solo a dirti quanto tempo ha impiegato ad elaborare i dati ... è una funzione aggiuntiva messa solo per controllo e null'altro.

In merito alla cartella se i file dai quali prendere i dati sono nello stesso percorso ove si trova il file "Team Coaching Plan" allora non c'è alcun problema e si può operare (ti farò le modifiche per questa situazione).

Tu devi assicurarti che sia proprio così.

In attesa puoi provare sul tuo PC sostituendo il valore di "MioPercorso" con quello ove hai tu i file.



Dovresti farti dare più informazioni in merito alla soluzione adottata per tua conoscenza e per il forum.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [excel] macro copia-incolla tra file diversi

Postdi Flash30005 » 11/06/14 00:04

Essendo sicuro che la macro di Ricky funzioni a dovere
ho semplicemente modificato il percorso da "Statico" a "Automatico"
In pratica il file destinazione (con macro) deve stare nella stessa cartella dei file con dati
La macro rileverà tale percorso e processerà tutti i file contenuti nella cartella e aventi estensione .xls escludendo il file destinazione.
Codice: Seleziona tutto
Option Explicit

Public RR As Long, J As Long, Inizio As Double
Public MioPercorso As String, MioFile As String
Public Ws_In As Worksheet, Ws_Out As Worksheet

Sub Leggi_Dati_e_Copia_Celle()
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    Application.DisplayAlerts = False
   
   
    Sheets("Sintesi").Select
    Set Ws_Out = Sheets("Sintesi")
   
    MioPercorso = ThisWorkbook.Path  '<<<< aggiunto percorso del file destinazione
    MioFileM = ThisWorkbook.Name '<<<< Ricava il nome del file destinazione
    MioFile = Dir(MioPercorso & "*.xls*")
   
    J = Ws_Out.Range("F" & Rows.Count).End(xlUp).Row + 1
    RR = J
    Do While MioFile <> ""
    If MioFile <> MioFileM Then
        Workbooks.Open Filename:=MioPercorso & MioFile
            Set Ws_In = Sheets("SetUpthePlan")
        Ws_In.Range("B3:L3").Copy
        Ws_Out.Range("F" & J).PasteSpecial xlPasteValues
        Ws_Out.Range("Q" & J) = Date
        Windows(MioFile).Close savechanges:=False
        J = J + 1
        Application.CutCopyMode = False
       
        MioFile = Dir()
    End If
    Loop
   
    Set Ws_In = Nothing
    Set Ws_Out = Nothing
   
    Application.DisplayAlerts = True
    Application.EnableEvents = True
    Application.ScreenUpdating = True
   
End Sub




Prova e fai sapere
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: [excel] macro copia-incolla tra file diversi

Postdi ricky53 » 11/06/14 00:12

Ciao,
Flash (che ovviamente ringrazio per la collaborazione) ha tradotto in istruzioni quanto ti avevo chiesto.

Nella speranza che sia così ... allora l'unione nostra avrà fatto la forza del forum !!!
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [excel] macro copia-incolla tra file diversi

Postdi amil » 11/06/14 21:52

Flash... scusa, come mai mi dice "variabile non definita" evidenziando proprio l'inizio del codice?
Sub Leggi_Dati_e_Copia_Celle()
amil
Utente Junior
 
Post: 22
Iscritto il: 05/06/14 10:04


Torna a Applicazioni Office Windows


Topic correlati a "[excel] macro copia-incolla tra file diversi":


Chi c’è in linea

Visitano il forum: enrico43, patel e 9 ospiti