Condividi:        

EXCEL 2016-MACRO PER UNIRE PIU FILE IN UNO UNICO

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 2016-MACRO PER UNIRE PIU FILE IN UNO UNICO

Postdi greensm » 04/05/17 20:24

Buonasera!
In questo magnifico forum, che in passato mi ha risolto velocemente molti problemi, ho trovato una macro che risponde esattamente alla mia esigenza: creare un unico file xlsx da più file diversi.
La macro da voi proposta prevede:
1) l'importazione dei dati del "Foglio1" di tutti i file Excel contenuti nella stessa cartella del file Riepilogo (che contiene la macro)
2) crea una cartella ArchivioXls (se non esiste)
3) trasferisce i file processati nella cartella Archivio per evitare di processarli di nuovo
Eccola:

Codice: Seleziona tutto
Public perc As String, Ws1 As String, f As String, WB1 As String
Sub ARCHIVIO()
Application.ScreenUpdating = False
Application.Calculation = xlManual
perc = ThisWorkbook.Path
If Dir(perc & "\ArchivioXls", vbDirectory) = "" Then
    MkDir (perc & "\ArchivioXls")
End If
WB1 = ThisWorkbook.Name
Ws1 = "Foglio1"
Worksheets(Ws1).Select
Range("A1").Select
  ElencoFile Direct:=perc, Estens:="*.xlsx*", Inicell:=ActiveCell
    Columns("A:AZ").EntireColumn.AutoFit
    Range("A1").Select
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Sub ElencoFile(Direct As String, Estens As String, Inicell As Range)
  Dim i As Integer, f As String
  ChDir Direct
  f = Dir(Estens)
  If f = "" Then Exit Sub
  While f <> ""
    If f <> ThisWorkbook.Name Then
        Application.Workbooks.Open perc & "\" & f
        URF = Workbooks(f).Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row
        URR = Workbooks(WB1).Worksheets(Ws1).Range("A" & Rows.Count).End(xlUp).Row
        Workbooks(f).ActiveSheet.Rows("1:" & URF).Copy Destination:=Workbooks(WB1).Worksheets(Ws1).Range("A" & URR + 1)
        Workbooks(f).Close savechanges:=False
        FileCopy perc & "\" & f, perc & "\ArchivioXls\" & f
            Kill perc & "\" & f
    End If
    f = Dir
  Wend
End Sub


Premetto che per me Visual Basic è quasi come il cinese: sono solo una brava copiona che si arrabatta a modificare qualche semplice comando in macro già fatte, come in questo caso.
Ho due problemi: se la salvo nella cartella di lavoro corrente, e in locale, funziona perfettamente, ma se provo a ricrearla su una cartella in rete (mi serve per lavoro, quindi pc di una grande azienda) mi dice che non riesce a trovare il percorso. Inoltre la vorrei salvare nella cartella Personale per poterla usare anche su altre cartelle senza doverla rifare ogni volta.
Cosa devo modificare?
Grazie mille per il tempo che mi dedicherete!
greensm
Newbie
 
Post: 9
Iscritto il: 04/05/17 18:56

Sponsor
 

Re: EXCEL 2016-MACRO PER UNIRE PIU FILE IN UNO UNICO

Postdi wallace&gromit » 05/05/17 08:04

Magari sparo cavolate che mi costeranno la fustigazione pubblica da parte dei moderatori, ma dal poco che ne capisco io la macro deve trovarsi proprio sul file nel quale sarà compilato l'archivio, non sul file personal.
Detto questo mi sembrerebbe più logico avere il tuo modello di file sempre a portata di mano. Ogni volta che devi eseguire l'operazione fai prima una copia di tutta la cartella che hai in rete, la piazzi in locale e vi inserisci una copia del tuo file di modello. Fai girare la macro e copi il risultato in rete.
Può funzionare? Ho capito male qualcosa? ....quante frustate?
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Re: EXCEL 2016-MACRO PER UNIRE PIU FILE IN UNO UNICO

Postdi Anthony47 » 05/05/17 12:35

Ciao greensm, benvenuto nel forum.
La macro che usi dimentica che ChDir cambia in percorso all'interno del drive corrente, ma non il drive.
Penso che si dovrebbe sistemare modificando la riga f = Dir(Estens) in
Codice: Seleziona tutto
  f = Dir(perc & "\" & Estens)

Quanto alle osservazioni di W&G confermo che questo tipo di macro, nella loro articolazione tipica, e' molto meglio che stiano nel modello in cui saranno consolidati i dati.

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

Re: EXCEL 2016-MACRO PER UNIRE PIU FILE IN UNO UNICO

Postdi greensm » 05/05/17 12:55

Grazie mille Anthony, ora funziona!!!!
Grazie anche a W&G, lascerò questa mail sulla cartella corrente.
Un caro saluto e buonissimo fine settimana!!
greensm
Newbie
 
Post: 9
Iscritto il: 04/05/17 18:56

Re: EXCEL 2016-MACRO PER UNIRE PIU FILE IN UNO UNICO

Postdi wallace&gromit » 05/05/17 15:06

fiuuu niente frustate per stavolta.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Re: EXCEL 2016-MACRO PER UNIRE PIU FILE IN UNO UNICO

Postdi greensm » 09/05/17 10:43

Ciao, ho ancora bisogno di un vostro aiuto...
Sul mio computer non ho nessun problema ma oggi ho lanciato la macro dal computer di un collega (che accede alla stessa cartella posta in rete) e ho nuovamente un messaggio di errore sul percorso. Sapete indicarmi quale altra modifica fare?
Grazie mille
greensm
Newbie
 
Post: 9
Iscritto il: 04/05/17 18:56

Re: EXCEL 2016-MACRO PER UNIRE PIU FILE IN UNO UNICO

Postdi wallace&gromit » 09/05/17 14:21

Cartella posta in rete?
Io suggerivo una copia sul PC locale, ma se a te funziona in rete non c'è motivo per cui non debba funzionare anche al collega, secondo me si gioca tutto sui riferimenti alle cartelle in rete, che da lui sono magari diversi.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Re: EXCEL 2016-MACRO PER UNIRE PIU FILE IN UNO UNICO

Postdi greensm » 09/05/17 16:09

Ciao! la cartella deve stare per forza in rete perché ci lavorano diverse persone. Ma la macro funziona egregiamente anche lì: in realtà ci siamo accorti solo dopo che avevamo un problema generalizzato su tutta la rete... risolto quello, ho rilanciano la macro e ha svolto il suo mestiere senza problemi anche sull'altro pc.
Sono stata troppo veloce nel chiedervi aiuto, scusate.
Grazie mille W&G per la tua celere risposta! una buona serata
greensm
Newbie
 
Post: 9
Iscritto il: 04/05/17 18:56


Torna a Applicazioni Office Windows


Topic correlati a "EXCEL 2016-MACRO PER UNIRE PIU FILE IN UNO UNICO":


Chi c’è in linea

Visitano il forum: Nessuno e 19 ospiti