aprire file excel con ciclo
Hai un problema con Excel? 
aprire file excel con ciclo
di fantedicoppe (utente non iscritto) data: 20/08/2014 13:11:05
Salve a tutti... intanto grazie per l'impegno che mettete, mi state aiutando davvero tanto e sto imparando in un sacco di cose...
Ora sto cercando di fare una cosa che è + grande di me, ma non demordo... intanto vi spiego cosa ho in mente di fare, poi espongo il problema (che è solo l'inizio).
ho dei file.xlsx tutti simili tra loro, ognuno ha 12 fogli (uno per ogni mese) con la stessa struttura. Ora io mi sono già fatto una macro in un file.xls con la quale mi creo i file come servono a me.
Il problema viene fuori quando devo aggiornare delle righe nel foglio, siccome ho delle formattazioni condizionali ed altre opzioni che riuscirei difficilmente a modificare con le macro pensavo di farmi un altro file.xls per sostituire i fogli con degli altri simili corretti (la stessa procedura usata per crearli praticamente)
visto che non sono molto pratico sto utilizzando metodi piuttosto rudimentali, ma almeno di passo in passo posso rendermi conto di dove sbaglio.
quindi per ora sto provando a mettere tutti i file nella stessa cartella (quello contenente le macro che si chiama base.xls e quelli da modificare che sono file1.xlsx, file2.xlsx ecc.)
Nel file base.xls ho 2 fogli, il primo che contiene le info sui file ed i fogli da sostituire ed il secondo che è proprio il foglio da andare a copiare in tutti gli altri file.
pensavo di aprire il file base per primo, poi aprire uno alla volta tutti i file che devo andare a modificare, eliminare i fogli, sostituirli, salvare il file e chiuderlo, poi aprire l'altro.
nel primo foglio sono riuscito a fare un elenco dei file che potrei modificare, ed in una colonna a fianco ho un elenco dei file che poi modificherà la macro
Per ora sto provando ad aprire tutti i file con un ciclo for, poi quando ci riuscirò passerò alla modifica ed alla chiusura (prima che si apra l'altro)...
cmq non riesco ad aprire i file, sto provando questo codice ma mi apre solo il primo file, poi dice errore di runtime 1004, impossibile trovare il file....
sicuro è una cazzata ma non ne sto venendo a capo
COLONNA A COLONNA C
File Presenti nella cartella: File che si vogliono modificare:
file1.xlsx file1.xlsx
file2.xlsx file2.xlsx
file3.xlsx file3.xlsx
file4.xlsx file4.xlsx
file5.xlsx file5.xlsx
file6.xlsx file6.xlsx
file7.xlsx file7.xlsx
For i = 1 To Workbooks(1).Sheets(1).Range("c65000").End(xlUp).Row - 1
'il ciclo va da 1 a 7 in questo caso, se ho + file, la colonna c ha + celle piene ed il numero aumenta
Workbooks.Open Filename:=Workbooks(1).Path & "" & Cells(i + 1, 3).value
Next i |
di lepat (utente non iscritto) data: 20/08/2014 14:59:01
prova così
fpath = thisworkbook.path
LR = Cells(Rows.Count, "C").End(xlUp).Row
For i = 2 To LR
Workbooks.Open Filename:=fPath & "" & Cells(i, 3).value
Next i |
di fantedicoppe data: 20/08/2014 17:01:26
ho provato anche con questo codice ma l'errore è sempre lo stesso... non capisco perchè se provo ad aprire i file uno alla volta (senza il for e sostituendo 2,3 o 4 al posto di i + 1) i file li apre...
ho allegato il file zip con dentro i file casomai volete provare anche voi
di fantedicoppe data: 20/08/2014 17:27:29
non so cosa non andava ora ho riprovato con questo codice e funziona ¬_¬
forse senza specificare il percorso apriva la cella dell'ultimo foglio attivo...
però avevo già provato anche con il vecchio codice... vabbe, l'importante è che funziona... grazie
Se dovessi avere altri problemi riguardanti questo lavoro rispondo a questa discussione o ne creo un'altra?
Sub macrounica()
fPath = ThisWorkbook.Path
LR = Cells(Rows.Count, "C").End(xlUp).Row
For i = 2 To LR
Workbooks.Open Filename:=fPath & "" & Workbooks(1).Sheets(1).Cells(i, 3)
Next i
End Sub |
di lepat (utente non iscritto) data: 20/08/2014 19:56:15
se rientra nell'argomento del titolo continua su questa
Vuoi Approfondire?