Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel2013] Accorpare e riorganizzare più file in uno

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

Re: [Excel2013] Accorpare e riorganizzare più file in uno

Postdi Flash30005 » 29/01/15 00:53

josple ha scritto:Flash ho risolto, era la funzione visualizza blocca riquadri! :D


Meno male!
Se dovevo "risolverti" anche questo mi sarebbero cadute le braccia :D
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-

Sponsor
 

Re: [Excel2013] Accorpare e riorganizzare più file in uno

Postdi josple » 29/01/15 11:41

Flash, ho notato che nel foglio riepilogo, tutta la colonna AC contiene una formula corretta ma con celle di riferimento errate. Di conseguenza viene fuori l'errore #DIV/0!
C'è un modo per modificare questo problema?
josple
Utente Junior
 
Post: 27
Iscritto il: 19/01/15 15:01

Re: [Excel2013] Accorpare e riorganizzare più file in uno

Postdi josple » 29/01/15 12:16

Edit: Ho modificato la stringa del codice e adesso va bene. Piano piano inizio a prendere un poco di confidenza con la sintassi
josple
Utente Junior
 
Post: 27
Iscritto il: 19/01/15 15:01

Re: [Excel2013] Accorpare e riorganizzare più file in uno

Postdi Flash30005 » 30/01/15 02:05

Non so se hai modificato la riga- codice corrispondente alla colonna AC del foglio riepilogo
comunque va modificata così (solo valori)
Codice: Seleziona tutto
'... macro
Sheets("Temp").Range("I11").Copy '<<<< eliminare Destination:=... ma mettere la riga che segue
Sheets("Riepilogo").Range("AC" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("AC" & UR).NumberFormat = "0.00"  '<<<<< esistente


Oppure se vuoi mantenere la formula devi aggiungere una riga che la modifichi adattandola alla nuova posizione delle celle
pertanto inserisci la riga con '<<<< dopo quella esistente

Codice: Seleziona tutto
Sheets("Temp").Range("I11").Copy Destination:=Sheets("Riepilogo").Range("AC" & UR)  '<<< esistente
Sheets("Riepilogo").Range("AC" & UR).FormulaR1C1 = "=((RC[-2]-RC[-1])/RC[-2])*100"  '<<<<<<<<<<<< aggiungere


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: [Excel2013] Accorpare e riorganizzare più file in uno

Postdi josple » 06/02/15 17:01

Ciao Flash! Ho creato una serie di files grazie agli script che mi hai gentilmente suggerito.
Se ricordi il file contiene due fogli, temp e riepilogo. In riepilogo vi erano vari parametri organizzati lungo una riga.
Se volessi unire a questo punto 2 o più files in uno unico di destinazione (che mantenga la medesima impostazione) potrei usare questo codice?

Codice: Seleziona tutto
Public perc As String, Ws1 As String, f As String, WB1 As String
Sub ElencoFileXls()
Application.ScreenUpdating = False
Application.Calculation = xlManual
perc = ThisWorkbook.Path
If Dir(perc & "\ArchivioXls", vbDirectory) = "" Then
    MkDir (perc & "\ArchivioXls")
End If
WB1 = ThisWorkbook.Name
Ws1 = "Riepilogo"
Worksheets(Ws1).Select
Range("A1").Select
  ElencoFile Direct:=perc, Estens:="*.xls*", Inicell:=ActiveCell
    Columns("A:DB").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


Inoltre, è possibile dare un comando per fare in modo che nel copiare e incollare i vari files, questi vengano disposti in ordine alfabetico?
Grazie
josple
Utente Junior
 
Post: 27
Iscritto il: 19/01/15 15:01

Re: [Excel2013] Accorpare e riorganizzare più file in uno

Postdi josple » 06/02/15 17:26

Provo ad usare questo codice ma qualcosa non va. Mi da sempre errore di runtime.
josple
Utente Junior
 
Post: 27
Iscritto il: 19/01/15 15:01

Re: [Excel2013] Accorpare e riorganizzare più file in uno

Postdi Flash30005 » 06/02/15 19:11

La macro che hai postato funziona senza generare alcun errore
ma a fine macro nel foglio Temp troverai solo i dati dell'ultimo file importato
per fare in modo che archivi i dati del Foglio1 di ogni file devi creare tanti fogli quanti sono i file nella cartella
ovvero una volta importato il primo file, rinominare il file Temp (magari con il nome del file importato) ,
creare un nuovo foglio che chiamerai Temp e il ciclo continua fino alla fine del processo

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: [Excel2013] Accorpare e riorganizzare più file in uno

Postdi josple » 06/02/15 19:43

Il problema è che la macro non parte proprio. Mi da subito errore runtime 9: indice non incluso nell'intervallo
Ad ogni modo i files sono tutti impostati allo stesso modo. Hanno tutti un foglio temp vuoto e un foglio riepilogo contenente i dati di interesse.
Vorrei dunque creare un file dove poter copiare e incollare il contenuto dei fogli riepilogo dei singoli files. Tuttavia con quella macro non riesco a procedere a causa dell'errore
josple
Utente Junior
 
Post: 27
Iscritto il: 19/01/15 15:01

Re: [Excel2013] Accorpare e riorganizzare più file in uno

Postdi Flash30005 » 07/02/15 03:34

Dovresti dire almeno in quale riga codice dà errore, la vedrai evidenziata in debug

Per quanto riguarda il Riepilogo in toto non capisco come mai tu abbia tanti file con Temp e con foglio Riepilogo
qui c'è qualcosa che non quadra.
Inizialmente avevi detto che dovevi inserire in un file con Foglio Riepilogo tutti i dati contenuti in un foglio di file nella directory quindi esisterà solo un file con il Riepilogo e tanti file con un foglio dati
Ora invece dici
josple ha scritto: i files sono tutti impostati allo stesso modo. Hanno tutti un foglio temp vuoto e un foglio riepilogo contenente i dati di interesse

e qui mi perdo.

Comunque se tu vuoi tutti i dati in un file che contiene il riepilogo
Devi mettere il file con la macro (e riepilogo) nella stessa cartella che contiene TUTTI i file con i dati
e avviare la macro originale non quella modificata da te

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-

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "[Excel2013] Accorpare e riorganizzare più file in uno":


Chi c’è in linea

Visitano il forum: patel e 15 ospiti