Condividi:        

COPIARE CELLE DA UN FILE AD UN ALTRO

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

COPIARE CELLE DA UN FILE AD UN ALTRO

Postdi mferla » 21/02/19 11:17

Buongiorno a tutti,
non sono molto esperto di Excel e avrei bisogno di copiare alcune celle da diversi file posizionati in diverse directory in un unico file.
Avete esperienza di una macro che possa aiutarmi ?
es :
file 1.xls in c:\a celle B3:B8
file 2.xls in c:\b celle C5:C11
file 3.xls in C:\x celle Z3:Z10
.....
file n in c:\pippo celle X3:X8

tutte queste celle devono essere copiate in C:\desktop
file datiraggruppati.xlxs colonne B C D E ......

Grazie !
mferla
Newbie
 
Post: 2
Iscritto il: 21/02/19 11:10

Sponsor
 

Re: COPIARE CELLE DA UN FILE AD UN ALTRO

Postdi Anthony47 » 21/02/19 12:33

file 1.xls in c:\a celle B3:B8
file 2.xls in c:\b celle C5:C11
file 3.xls in C:\x celle Z3:Z10
.....
file n in c:\pippo celle X3:X8
A me pare che l'origine dei dati e gli intervalli da copiare siano a caso. Il mio consiglio e' che prepari in un foglio di datiraggruppati.xlxs l'elenco dei file (percorso completo e nome file, colonna A), il nome del foglio (colonna B) e l'indirizzo delle celle da copiare (colonna C); attingendo a questo foglio una macro puo' fare il lavoro di apertura /copia /incolla.

Se mi confermi che sei in grado di fare l'elenco ti preparo la macro.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: COPIARE CELLE DA UN FILE AD UN ALTRO

Postdi mferla » 21/02/19 13:54

SI SONO IN GRADO.

GRAZIE MILLE
mferla
Newbie
 
Post: 2
Iscritto il: 21/02/19 11:10

Re: COPIARE CELLE DA UN FILE AD UN ALTRO

Postdi Anthony47 » 22/02/19 00:12

Allora, dando per scontato la presenza nel file datiraggruppati.xlxs di un "foglio Indice" avente la struttura detta prima, prova con questa macro:
Codice: Seleziona tutto
Sub Colletter()
Dim iSh As String, dSh As String, I As Long, LastI As Long
Dim wWb As Workbook, cCnt As Long, tWb As Workbook
'
iSh = "Indice"          '<<< Il foglio che contiene, da riga2 in giu, l'Indice dei file da lavorare
dSh = "Foglio3"         '<<< Il foglio su cui i dati verranno raccolti
'
LastI = Sheets(iSh).Cells(Rows.Count, 1).End(xlUp).Row
cCnt = 1
Set tWb = ThisWorkbook
On Error Resume Next
Application.EnableEvents = False
Debug.Print ">>> Inizio Processo"
For I = 2 To LastI
    cCnt = cCnt + 1
    Debug.Print "+++ I = " & I
    Set wWb = Workbooks.Open(tWb.Sheets(iSh).Cells(I, 1).Value, False, True)
    Debug.Print "A", wWb.Name, tWb.Sheets(iSh).Cells(I, 1).Value
    Debug.Print "AA", Workbooks.Count
    wWb.Sheets(tWb.Sheets(iSh).Cells(I, 2).Value).Select
    Debug.Print "AAA", ActiveSheet.Name, tWb.Sheets(iSh).Cells(I, 2).Value
    tWb.Sheets(dSh).Cells(1, cCnt) = wWb.Name
    wWb.Sheets(tWb.Sheets(iSh).Cells(I, 2).Value).Range(tWb.Sheets(iSh).Cells(I, 3).Value).Resize(, 1).Copy tWb.Sheets(dSh).Cells(2, cCnt)
    wWb.Close False
Next I
Application.EnableEvents = True
On Error GoTo 0
MsgBox ("Completato, forse :-))")
End Sub

Va inserita nel file datiraggruppati.xlxs (che quindi dovra' poi essere salvato come datiraggruppati.xlsm), in un Modulo Standard del vba.
Per le istruzioni, vedi viewtopic.php?f=26&t=103893&p=647675#p647675
Le righe marcate <<< devono essere personalizzate come da commento.

Quando sei pronto, avvia la Sub Colletter; per le istruzioni, vedi viewtopic.php?f=26&t=103893&p=647678#p647678

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "COPIARE CELLE DA UN FILE AD UN ALTRO":


Chi c’è in linea

Visitano il forum: Ricky0185 e 44 ospiti