Domanda:
Ho una cartella contenente diversi file excel che per comodità chiamerò a.xls, b.xls, c.xls, ecc..
Ognuno di questi file ha nel foglio 1 una tabella (identica per tutti i file) con due colonne di dati (a e b)
La mia esigenza è quella di trovare una formula/macro che sommi su un altro foglio (totale.xls) automaticamente tutte le singole celle delle colonne a e b.
Non vorrei aprire i singoli file per fare le somme ma vorrei poter aprire il solo file totale.xls
Risposta:
Innanzitutto facciamo un pò d’ordine nei report da gestire creando una cartella “ARCHIVIO REPORT”
all’interno della quale andremo a creare delle sottocartelle per ciascun Anno_Mese.
All’interno di queste sottocartelle salveremo i report.
La macro lanciata tramite il bottone “Aggiorna” esegue le seguenti operazioni:
– apre la finestra di dialogo per selezionare la cartella dove sono stati archiviati i report
(msoFileDialogFolderPicker) e determina con essa il valore della variabile “Cartella”
– prende in considerazione tutti i file che vi trova , ne estrae il percorso (f1.Path) e lo utilizza per aprirli
Dim fs, f, f1, s, sf Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFolder(Cartella) Set sf = f.Files For Each f1 In sf ActiveWorkbook.FollowHyperlink Address:=f1.Path Next
– per ciascun file aperto, copia i valori del foglio1 e li incolla nel foglio 3 del file “Totale”
– normalizza i dati incollati uno sotto l’altro nel file “Totale”
– inserisce le somme nel foglio “Riepilogo”
'Dalla riga 9 alla 39 inserisco i totali per giorno For i = 9 To 39 Sheet1.Cells(i, 4) = _ Application.WorksheetFunction.SumIf(Sheet3.Columns(1), Sheet1.Cells(i, 2), Sheet3.Columns(3)) Sheet1.Cells(i, 5) = _ Application.WorksheetFunction.SumIf(Sheet3.Columns(1), Sheet1.Cells(i, 2), Sheet3.Columns(4)) Next i
Ho commentato il codice della macro per spiegare passo passo cosa fa.
Se volete per esercizio creare ex novo il file, assicuratevi di inserire le librerie presenti nel mio file
La procedura per vedere le librerie è la seguente:
– “ALT+F10” per aprire l’editor
– Menù Strumenti
– Referenze
Per aggiungere una nuova libreria basta mettere il segno di spunta a sinistra del suo nome.
Salvate lo zip sul desktop, decoprimetelo ed aprite il file “Totale Marzo 2013”
Riccardo Vincenti
Riccardo Vincenti
Ultimi post di Riccardo Vincenti (vedi tutti)
- 073. Duplicare righe excel modificando il contenuto - 6 Ottobre 2017
- 072. Estrazione numeri casuali - 6 Ottobre 2017
- 071. Estrazione casuale valori da un elenco - 5 Ottobre 2017
- 070. Contare dati univoci senza Pivot - 21 Settembre 2017
- 069. Aggiungere intervalli ad una data: Date Add in Excel - 21 Settembre 2017