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

[Excel2013] Accorpare e riorganizzare più file in uno

Postdi josple » 24/01/15 15:46

Ho bisogno di unire più file in uno solo. Ma nel farlo dovrei completamente riorganizzarne la formattazione. Il lavoro è per me piuttosto complesso.
Allegherò due file dati- origine ed un file di esempio del risultato sperato che vorrei automatizare.
Spero sia un lavoro fattibile.

http://www.datafilehost.com/d/de0a3200
josple
Utente Junior
 
Post: 27
Iscritto il: 19/01/15 15:01

Sponsor
 

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

Postdi Flash30005 » 24/01/15 19:41

A prima vista mi sembra che bisogna importare un file alla volta su un foglio e traslare i dati su un secondo foglio (riepilogo) prima di importare il file successivo.

vedrò cosa fare

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

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

Postdi josple » 24/01/15 20:57

Ciò che conta di più è poter fare questo processo in maniera automatizzata perchè dovrò estendere questo lavoro a centinaia di files.. Spero nel tuo aiuto a questo punto :)
josple
Utente Junior
 
Post: 27
Iscritto il: 19/01/15 15:01

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

Postdi Flash30005 » 25/01/15 02:04

Non capendo bene, in quanto sintassi con terminologia medica, ti invio il file di input sul quale lavoreremo per riportare i dati di tutti i file Excel (origine-dati)
http://www.filedropper.com/esempiomacro

1) Apri il file
2) inizi una registrazione di macro
3) selezionando una cella nel foglio "Temp" (con dato interessato all'importazione)
3) Copi
4) selezioni foglio "Riepilogo" e incolli (nella cella opportuna e corrispondente
4a) se l'origine è valore incolli normale
4b) se l'origine è formula incolli speciale "valori"
5) selezioni di nuovo il foglio "Temp"
6) selezioni seconda cella con dato da copiare e ripeti dal punto 3 (copia) fino al punto 5
...
7) solo quando hai finito di copiare tutti i dati voluti, fermi la macro e posti qui il codice ottenuto

Provvederò così a realizzare una macro che importi tutti i file

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

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

Postdi josple » 27/01/15 16:38

Flash30005 ho registrato la macro come mi avevi chiesto. Incollo il codice

Codice: Seleziona tutto
Sub Macro1prova()
'
' Macro1prova Macro
'

'
    Range("F2").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("A3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("B1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("B3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("E1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("C3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("H1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("D3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("B2").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("E3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("B3").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("F3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("E3").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("G3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Temp").Select
    Range("G3").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("H3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("B4").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("I3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("D4").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("J3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("F4").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("K3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Temp").Select
    Range("I4").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("L3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Temp").Select
    Range("B5").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("M3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("D5").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("N3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("F5").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("O3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Temp").Select
    Range("H5").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("P3").Select
    Sheets("Riepilogo").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Temp").Select
    Range("J5").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("Q3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("C6").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("R3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("F6:G6").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("S3").Select
    ActiveSheet.Paste
    ActiveWindow.SmallScroll ToRight:=16
    Range("S3:T3").Select
    Sheets("Temp").Select
    Range("J6").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("S3:T3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("C7").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("U3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("F7:G7").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("V3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("J7").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("V3:W3").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = ""
    Range("V3:W3").Select
    ActiveCell.FormulaR1C1 = ""
    Range("V3:W3").Select
    Sheets("Temp").Select
    Selection.Copy
    Sheets("Riepilogo").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("B8").Select
    Application.CutCopyMode = False
    Sheets("Temp").Select
    Range("C8").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("X3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("C9").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("Y3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("C11").Select
    Sheets("Temp").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AA3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("F11").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AB3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("I11").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AC3").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = ""
    Range("AC3").Select
    Sheets("Temp").Select
    Selection.Copy
    Sheets("Riepilogo").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Temp").Select
    Range("C12").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AD3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("F12").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AE3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Temp").Select
    Range("H12").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AF3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Temp").Select
    Range("J12").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AG3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Temp").Select
    Range("B13").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AH3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("D13").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AI3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("B14").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    ActiveWindow.SmallScroll ToRight:=9
    Range("AJ3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("D14").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AK3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("F14").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AL3").Select
    Sheets("Riepilogo").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("H14").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AM3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    ActiveWindow.SmallScroll Down:=5
    Range("C15").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AN3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("B16").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AO3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Temp").Select
    Range("D16").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AP3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Temp").Select
    Range("G16").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AR3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Temp").Select
    Range("B17").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    ActiveWindow.SmallScroll ToRight:=10
    Range("AS3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("D17").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AT3").Select
    ActiveSheet.Paste
    Range("AU3").Select
    Sheets("Temp").Select
    Range("F17").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("H17").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AV3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Temp").Select
    Range("J17").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AW3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("C18").Select
    Application.CutCopyMode = False
    Sheets("Temp").Select
    Range("J17").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    ActiveWindow.SmallScroll Down:=13
    Range("B20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AX3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("D20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AY3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("F20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("AZ3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Temp").Select
    Range("H20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BA3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("J20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BB3").Select
    Application.CutCopyMode = False
    Sheets("Temp").Select
    Range("H20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("J20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BB3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("B21").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    ActiveWindow.SmallScroll ToRight:=8
    Range("BC3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("D21").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BD3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("F21").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BE3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("H21").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BF3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Temp").Select
    Range("J21").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BG3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Temp").Select
    Range("B22").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BH3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("D22").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BI3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("F22").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BJ3").Select
    ActiveSheet.Paste
    ActiveWindow.SmallScroll ToRight:=15
    Sheets("Temp").Select
    Range("H22").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BK3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Temp").Select
    Range("J22").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BL3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Temp").Select
    Range("B23").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BM3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("B24").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BN3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("B25").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BO3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("B26").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = ""
    Sheets("Riepilogo").Select
    Range("BP3").Select
    Sheets("Temp").Select
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BP3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("B27").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BQ3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("B28").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BR3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    Range("C29").Select
    Sheets("Temp").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BS3").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    ActiveWindow.SmallScroll Down:=36
    ActiveSheet.Shapes.Range(Array("Text Box 2")).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BU3").Select
    Sheets("Temp").Select
    Selection.Copy
    Sheets("Riepilogo").Select
    ActiveSheet.Paste
    Sheets("Temp").Select
    ActiveSheet.Shapes.Range(Array("Text Box 4")).Select
    Selection.Copy
    Sheets("Riepilogo").Select
    ActiveWindow.SmallScroll ToRight:=16
    Range("CG3").Select
    ActiveSheet.Paste
    ActiveWindow.SmallScroll ToRight:=9
    Sheets("Temp").Select
    ActiveWindow.SmallScroll Down:=5
    ActiveSheet.Shapes.Range(Array("Text Box 6")).Select
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("CS3").Select
    ActiveSheet.Paste
End Sub
josple
Utente Junior
 
Post: 27
Iscritto il: 19/01/15 15:01

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

Postdi Flash30005 » 27/01/15 22:24

Ok allora elimina tutte le macro contenute nel file "Riepilogo" e inserisci questo codice (interamente) nel modulo
poi, avendo i file-dati nella stessa directory del file riepilogo, avvia la macro (unica visibile: "ElencoFileXls")

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 = "Temp"
Worksheets(Ws1).Select
Range("A1").Select
  ElencoFile Direct:=perc, Estens:="*.xls*", Inicell:=ActiveCell
Columns("A:DC").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
    Cells.Copy
    Windows(WB1).Activate
    Sheets("Temp").Select
    Cells.Select
    ActiveSheet.Paste
    Application.DisplayAlerts = False
        Workbooks(f).Close savechanges:=False
    Application.DisplayAlerts = True
        FileCopy perc & "\" & f, perc & "\ArchivioXls\" & f
            Kill perc & "\" & f
        Trasponi
    End If
    f = Dir

  Wend
End Sub

Private Sub Trasponi()
UR = Worksheets("Riepilogo").Range("A" & Rows.Count).End(xlUp).Row + 1
If UR > 2 Then UR = UR + 4
Sheets("Temp").Range("F2").Copy Destination:=Sheets("Riepilogo").Range("A" & UR)
Sheets("Temp").Range("B1").Copy Destination:=Sheets("Riepilogo").Range("B" & UR)
Sheets("Temp").Range("E1").Copy Destination:=Sheets("Riepilogo").Range("C" & UR)
Sheets("Temp").Range("H1").Copy Destination:=Sheets("Riepilogo").Range("D" & UR)
Sheets("Temp").Range("B2").Copy Destination:=Sheets("Riepilogo").Range("E" & UR)
Sheets("Temp").Range("B3").Copy Destination:=Sheets("Riepilogo").Range("F" & UR)
Sheets("Temp").Range("E3").Copy
Sheets("Riepilogo").Range("G" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("G" & UR).Value = Int(Sheets("Riepilogo").Range("G" & UR).Value)
Sheets("Temp").Range("G3").Copy Destination:=Sheets("Riepilogo").Range("H" & UR)
Sheets("Temp").Range("B4").Copy Destination:=Sheets("Riepilogo").Range("I" & UR)
Sheets("Temp").Range("D4").Copy Destination:=Sheets("Riepilogo").Range("J" & UR)
Sheets("Temp").Range("F4").Copy
Sheets("Riepilogo").Range("K" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("K" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("I4").Copy
Sheets("Riepilogo").Range("L" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("L" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("B5").Copy Destination:=Sheets("Riepilogo").Range("M" & UR)
Sheets("Temp").Range("D5").Copy Destination:=Sheets("Riepilogo").Range("N" & UR)
Sheets("Temp").Range("F5").Copy
Sheets("Riepilogo").Range("O" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Temp").Range("H5").Copy
Sheets("Riepilogo").Range("P" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Temp").Range("J5").Copy Destination:=Sheets("Riepilogo").Range("Q" & UR)
Sheets("Temp").Range("C6").Copy Destination:=Sheets("Riepilogo").Range("R" & UR)
Sheets("Temp").Range("F6:G6").Copy Destination:=Sheets("Riepilogo").Range("S" & UR)
Sheets("Temp").Range("J6").Copy Destination:=Sheets("Riepilogo").Range("Q" & UR)
Sheets("Temp").Range("C7").Copy Destination:=Sheets("Riepilogo").Range("U" & UR)
Sheets("Temp").Range("F7:G7").Copy Destination:=Sheets("Riepilogo").Range("V" & UR)
Sheets("Temp").Range("C8").Copy Destination:=Sheets("Riepilogo").Range("X" & UR)
Sheets("Temp").Range("C9").Copy Destination:=Sheets("Riepilogo").Range("Y" & UR)
Sheets("Temp").Range("C11").Copy Destination:=Sheets("Riepilogo").Range("AA" & UR)
Sheets("Temp").Range("F11").Copy Destination:=Sheets("Riepilogo").Range("AB" & UR)
Sheets("Temp").Range("I11").Copy Destination:=Sheets("Riepilogo").Range("AC" & UR)
Sheets("Riepilogo").Range("AC" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("C12").Copy Destination:=Sheets("Riepilogo").Range("AD" & UR)
Sheets("Temp").Range("F12").Copy
Sheets("Riepilogo").Range("AE" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("AE" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("H12").Copy
Sheets("Riepilogo").Range("AF" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("AF" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("J12").Copy
Sheets("Riepilogo").Range("AG" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("AG" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("B13").Copy Destination:=Sheets("Riepilogo").Range("AH" & UR)
Sheets("Temp").Range("D13").Copy Destination:=Sheets("Riepilogo").Range("AI" & UR)
Sheets("Temp").Range("B14").Copy Destination:=Sheets("Riepilogo").Range("AJ" & UR)
Sheets("Temp").Range("D14").Copy Destination:=Sheets("Riepilogo").Range("AK" & UR)
Sheets("Temp").Range("F14").Copy Destination:=Sheets("Riepilogo").Range("AL" & UR)
Sheets("Temp").Range("H14").Copy Destination:=Sheets("Riepilogo").Range("AM" & UR)
Sheets("Temp").Range("C15").Copy Destination:=Sheets("Riepilogo").Range("AN" & UR)
Sheets("Temp").Range("B16").Copy
Sheets("Riepilogo").Range("AO" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("AO" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("D16").Copy
Sheets("Riepilogo").Range("AP" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("AP" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("G16").Copy
Sheets("Riepilogo").Range("AR" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("AR" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("B17").Copy Destination:=Sheets("Riepilogo").Range("AS" & UR)
Sheets("Temp").Range("D17").Copy Destination:=Sheets("Riepilogo").Range("AT" & UR)
Sheets("Temp").Range("F17").Copy Destination:=Sheets("Riepilogo").Range("AU3")
Sheets("Temp").Range("H17").Copy
Sheets("Riepilogo").Range("AV" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("AV" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("J17").Copy Destination:=Sheets("Riepilogo").Range("AW" & UR)
Sheets("Temp").Range("B20").Copy Destination:=Sheets("Riepilogo").Range("AX" & UR)
Sheets("Temp").Range("D20").Copy Destination:=Sheets("Riepilogo").Range("AY" & UR)
Sheets("Temp").Range("F20").Copy
Sheets("Riepilogo").Range("AZ" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("AZ" & UR).NumberFormat = "0.0"
Sheets("Temp").Range("H20").Copy Destination:=Sheets("Riepilogo").Range("BA" & UR)
Sheets("Temp").Range("J20").Copy Destination:=Sheets("Riepilogo").Range("BB" & UR)
Sheets("Temp").Range("B21").Copy Destination:=Sheets("Riepilogo").Range("BC" & UR)
Sheets("Temp").Range("D21").Copy Destination:=Sheets("Riepilogo").Range("BD" & UR)
Sheets("Temp").Range("F21").Copy Destination:=Sheets("Riepilogo").Range("BE" & UR)
Sheets("Temp").Range("H21").Copy
Sheets("Riepilogo").Range("BF" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("BF" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("J21").Copy
Sheets("Riepilogo").Range("BG" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("BG" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("B22").Copy Destination:=Sheets("Riepilogo").Range("BH" & UR)
Sheets("Temp").Range("D22").Copy Destination:=Sheets("Riepilogo").Range("BI" & UR)
Sheets("Temp").Range("F22").Copy Destination:=Sheets("Riepilogo").Range("BJ" & UR)
Sheets("Temp").Range("H22").Copy
Sheets("Riepilogo").Range("BK" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Temp").Range("J22").Copy
Sheets("Riepilogo").Range("BL" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Temp").Range("B23").Copy Destination:=Sheets("Riepilogo").Range("BM" & UR)
Sheets("Temp").Range("B24").Copy Destination:=Sheets("Riepilogo").Range("BN" & UR)
Sheets("Temp").Range("B25").Copy Destination:=Sheets("Riepilogo").Range("BO" & UR)
Sheets("Temp").Range("B26").Copy Destination:=Sheets("Riepilogo").Range("BP" & UR)
Sheets("Temp").Range("B27").Copy Destination:=Sheets("Riepilogo").Range("BQ" & UR)
Sheets("Temp").Range("B28").Copy Destination:=Sheets("Riepilogo").Range("BR" & UR)
Sheets("Temp").Range("C29").Copy Destination:=Sheets("Riepilogo").Range("BS" & UR)
'-----------
Sheets("Temp").Select
    ActiveSheet.Shapes.Range(Array("Text Box 2")).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Riepilogo").Select
    Range("BU" & UR).Select
    Sheets("Temp").Select
    Selection.Copy
    Sheets("Riepilogo").Select
    ActiveSheet.Paste

'----------------
Sheets("Temp").Select
ActiveSheet.Shapes.Range(Array("Text Box 2")).Select
Selection.Copy
Sheets("Riepilogo").Select
Range("BU" & UR).Select
ActiveSheet.Paste

Sheets("Temp").Select
ActiveSheet.Shapes.Range(Array("Text Box 4")).Select
Selection.Copy
Sheets("Riepilogo").Select
Range("CG" & UR).Select
ActiveSheet.Paste

Sheets("Temp").Select
ActiveSheet.Shapes.Range(Array("Text Box 6")).Select
Selection.Copy
Sheets("Riepilogo").Select
Range("CS" & UR).Select
ActiveSheet.Paste

'-----

End Sub


ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

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

Postdi josple » 28/01/15 09:42

Ciao Flash, ho provato ad eseguire lo script. Ma qualcosa non va come dovrebbe. Il file dove ho lavorato, è il file esempio che mi avevi condiviso. Ho creato la macro dal foglio riepilogo e poi ho incollato il risultato. Uscendo non ho salvato, lasciando il file esempio come lo avevi inviato.
Ho dunque spostato questo file nella directory dove sono contenuti i vari files da unire.
A questo punto riprovo ad eseguire lo script all'interno del file EsempioMacro.xls ma sostanzialmente inserisce i dati dal foglio temp a quello di riepilogo del solo file aperto e non di tutti gli altri all'interno della cartella che vorrei unire.
Dove sbaglio?

Inoltre, non so se è permesso farlo, mi piacerebbe mantenere una riga bianca tra gli elementi da copiare e le voci di riferimento delle colonne. E in fine, la ccella AU3 viene incollata nella cella sottostante risultanto "sfasata" rispetto tutti gli altri dati copiati.
josple
Utente Junior
 
Post: 27
Iscritto il: 19/01/15 15:01

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

Postdi Flash30005 » 28/01/15 10:03

Per l'AU sfalsata il problema era una riga lasciata, per errore, con AU3 (da tua macro), quindi ho corretto il bug

per il secondo quesito che processa un solo file mi sembra alquanto strano
prova questo file con macro

Inserisci in una cartella solo questo file con tutti i file-dati (elimina/sposta altri file di Excel, comprese prove precedenti, che non rientrano in questa importazione)
apri solo questo file e avvia la macro visibile.

inoltre vorrei sapere se processando un solo file cosa va a finire nella cartella "ArchivioXls" solo un file o vengono spostati tutti i file-dati?
Alla fine cosa ti ritrovi nella cartella-origine che contiene il file con la macro?

ciao

Per avere il fondo delle celle non colorato inserisci la riga evidenziata con <<<< tra le due righe, a fine macro " ElencoFileXls", come da esempio
Codice: Seleziona tutto
Columns("A:DC").EntireColumn.AutoFit
 Cells.Interior.ColorIndex = xlNone  '<<<<<<<<<<<<<<< inserisci qui questa riga codice
Range("A1").Select
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

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

Postdi josple » 28/01/15 11:32

Flash, adesso funziona tutto correttamente! Prima non veniva nemmeno creata la cartella archivio.
Il lavoro viene eseguito alla perfezione.
Se io volessi a questo punto eseguire questa operazione su una nuova cartella contenente i file origine sui quali lavorare, devo utilizzare sempre il file EsempioMacro2 con due fogli di lavoro, oppure potrei eseguire la macro in un nuovo file con un solo foglio di lavoro?
josple
Utente Junior
 
Post: 27
Iscritto il: 19/01/15 15:01

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

Postdi josple » 28/01/15 12:17

Edit:
Una volta eseguita la macro nel file cche mi hai inviato, potrei fare compia e incolla dell'intero contenuto in un nuovo file, quindi questo "problema" è risolto.

Ho notato dei problemi con le shapes. Viene copiata solamente quella del primo file e varie copie si sovrappongono tra loro.
Invio un link con uno screenshot
http://s7.postimg.org/mahn2q8ij/Cattura.jpg
josple
Utente Junior
 
Post: 27
Iscritto il: 19/01/15 15:01

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

Postdi Flash30005 » 28/01/15 12:27

Non so cosa devi fare, se accodare i nuovi dati ai precedenti devi inserire i nuovi file-dati nella stessa cartella
e/o elimini quanto aggiunto nel foglio riepilogo con il test e nella cartella metterai solo i file-dati.
Se, invece, devi fare un nuovo riepilogo/archivio, ma i dati-origine sono nella identica struttura allora copi il file in altra cartella del disco C:\... e in questa cartella metterai oltre al file con macro (che potrai rinominare come vuoi) anche tutti i nuovi file-dati

Se, la tua esigenza, è, invece, avere il file con macro in una cartella e i file dati in tutt'altra cartella non avente la stessa radice
bisogna modificare l'indirizzo "Perc" nella macro inserendo quello effettivo dei file dati

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

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

Postdi Flash30005 » 28/01/15 12:56

Rispondi al post precedente
nel frattempo ho corretto la macro che aveva un refuso e copiava sempre e più volte il box

Copia l'intera macro (con l'apposito comando del Forum posto sopra al codice) e sostituisci tutta la precedente
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 = "Temp"
ElencoFile Direct:=perc, Estens:="*.xls*", Inicell:=ActiveCell
Sheets("Riepilogo").Select
Columns("A:DC").EntireColumn.AutoFit
Cells.Interior.ColorIndex = xlNone
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 <> ""
    '  Windows(WB1).Activate
    Sheets(Ws1).Select
    Cells.Select
    Selection.Delete

    If f <> ThisWorkbook.Name Then
        Application.Workbooks.Open perc & "\" & f
    Cells.Copy
      Windows(WB1).Activate
    Sheets("Temp").Select
        ActiveSheet.Paste
    Application.DisplayAlerts = False
        Workbooks(f).Close savechanges:=False
    Application.DisplayAlerts = True
        FileCopy perc & "\" & f, perc & "\ArchivioXls\" & f
            Kill perc & "\" & f
        Trasponi
    End If
    f = Dir

  Wend
End Sub

Private Sub Trasponi()
UR = Worksheets("Riepilogo").Range("A" & Rows.Count).End(xlUp).Row + 1
If UR > 2 Then UR = UR + 4
Sheets("Temp").Range("F2").Copy Destination:=Sheets("Riepilogo").Range("A" & UR)
Sheets("Temp").Range("B1").Copy Destination:=Sheets("Riepilogo").Range("B" & UR)
Sheets("Temp").Range("E1").Copy Destination:=Sheets("Riepilogo").Range("C" & UR)
Sheets("Temp").Range("H1").Copy Destination:=Sheets("Riepilogo").Range("D" & UR)
Sheets("Temp").Range("B2").Copy Destination:=Sheets("Riepilogo").Range("E" & UR)
Sheets("Temp").Range("B3").Copy Destination:=Sheets("Riepilogo").Range("F" & UR)
Sheets("Temp").Range("E3").Copy
Sheets("Riepilogo").Range("G" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("G" & UR).Value = Int(Sheets("Riepilogo").Range("G" & UR).Value)
Sheets("Temp").Range("G3").Copy Destination:=Sheets("Riepilogo").Range("H" & UR)
Sheets("Temp").Range("B4").Copy Destination:=Sheets("Riepilogo").Range("I" & UR)
Sheets("Temp").Range("D4").Copy Destination:=Sheets("Riepilogo").Range("J" & UR)
Sheets("Temp").Range("F4").Copy
Sheets("Riepilogo").Range("K" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("K" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("I4").Copy
Sheets("Riepilogo").Range("L" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("L" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("B5").Copy Destination:=Sheets("Riepilogo").Range("M" & UR)
Sheets("Temp").Range("D5").Copy Destination:=Sheets("Riepilogo").Range("N" & UR)
Sheets("Temp").Range("F5").Copy
Sheets("Riepilogo").Range("O" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Temp").Range("H5").Copy
Sheets("Riepilogo").Range("P" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Temp").Range("J5").Copy Destination:=Sheets("Riepilogo").Range("Q" & UR)
Sheets("Temp").Range("C6").Copy Destination:=Sheets("Riepilogo").Range("R" & UR)
Sheets("Temp").Range("F6:G6").Copy Destination:=Sheets("Riepilogo").Range("S" & UR)
Sheets("Temp").Range("J6").Copy Destination:=Sheets("Riepilogo").Range("Q" & UR)
Sheets("Temp").Range("C7").Copy Destination:=Sheets("Riepilogo").Range("U" & UR)
Sheets("Temp").Range("F7:G7").Copy Destination:=Sheets("Riepilogo").Range("V" & UR)
Sheets("Temp").Range("C8").Copy Destination:=Sheets("Riepilogo").Range("X" & UR)
Sheets("Temp").Range("C9").Copy Destination:=Sheets("Riepilogo").Range("Y" & UR)
Sheets("Temp").Range("C11").Copy Destination:=Sheets("Riepilogo").Range("AA" & UR)
Sheets("Temp").Range("F11").Copy Destination:=Sheets("Riepilogo").Range("AB" & UR)
Sheets("Temp").Range("I11").Copy Destination:=Sheets("Riepilogo").Range("AC" & UR)
Sheets("Riepilogo").Range("AC" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("C12").Copy Destination:=Sheets("Riepilogo").Range("AD" & UR)
Sheets("Temp").Range("F12").Copy
Sheets("Riepilogo").Range("AE" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("AE" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("H12").Copy
Sheets("Riepilogo").Range("AF" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("AF" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("J12").Copy
Sheets("Riepilogo").Range("AG" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("AG" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("B13").Copy Destination:=Sheets("Riepilogo").Range("AH" & UR)
Sheets("Temp").Range("D13").Copy Destination:=Sheets("Riepilogo").Range("AI" & UR)
Sheets("Temp").Range("B14").Copy Destination:=Sheets("Riepilogo").Range("AJ" & UR)
Sheets("Temp").Range("D14").Copy Destination:=Sheets("Riepilogo").Range("AK" & UR)
Sheets("Temp").Range("F14").Copy Destination:=Sheets("Riepilogo").Range("AL" & UR)
Sheets("Temp").Range("H14").Copy Destination:=Sheets("Riepilogo").Range("AM" & UR)
Sheets("Temp").Range("C15").Copy Destination:=Sheets("Riepilogo").Range("AN" & UR)
Sheets("Temp").Range("B16").Copy
Sheets("Riepilogo").Range("AO" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("AO" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("D16").Copy
Sheets("Riepilogo").Range("AP" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("AP" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("G16").Copy
Sheets("Riepilogo").Range("AR" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("AR" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("B17").Copy Destination:=Sheets("Riepilogo").Range("AS" & UR)
Sheets("Temp").Range("D17").Copy Destination:=Sheets("Riepilogo").Range("AT" & UR)
Sheets("Temp").Range("F17").Copy Destination:=Sheets("Riepilogo").Range("AU" & UR)
Sheets("Temp").Range("H17").Copy
Sheets("Riepilogo").Range("AV" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("AV" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("J17").Copy Destination:=Sheets("Riepilogo").Range("AW" & UR)
Sheets("Temp").Range("B20").Copy Destination:=Sheets("Riepilogo").Range("AX" & UR)
Sheets("Temp").Range("D20").Copy Destination:=Sheets("Riepilogo").Range("AY" & UR)
Sheets("Temp").Range("F20").Copy
Sheets("Riepilogo").Range("AZ" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("AZ" & UR).NumberFormat = "0.0"
Sheets("Temp").Range("H20").Copy Destination:=Sheets("Riepilogo").Range("BA" & UR)
Sheets("Temp").Range("J20").Copy Destination:=Sheets("Riepilogo").Range("BB" & UR)
Sheets("Temp").Range("B21").Copy Destination:=Sheets("Riepilogo").Range("BC" & UR)
Sheets("Temp").Range("D21").Copy Destination:=Sheets("Riepilogo").Range("BD" & UR)
Sheets("Temp").Range("F21").Copy Destination:=Sheets("Riepilogo").Range("BE" & UR)
Sheets("Temp").Range("H21").Copy
Sheets("Riepilogo").Range("BF" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("BF" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("J21").Copy
Sheets("Riepilogo").Range("BG" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Riepilogo").Range("BG" & UR).NumberFormat = "0.00"
Sheets("Temp").Range("B22").Copy Destination:=Sheets("Riepilogo").Range("BH" & UR)
Sheets("Temp").Range("D22").Copy Destination:=Sheets("Riepilogo").Range("BI" & UR)
Sheets("Temp").Range("F22").Copy Destination:=Sheets("Riepilogo").Range("BJ" & UR)
Sheets("Temp").Range("H22").Copy
Sheets("Riepilogo").Range("BK" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Temp").Range("J22").Copy
Sheets("Riepilogo").Range("BL" & UR).PasteSpecial Paste:=xlPasteValues
Sheets("Temp").Range("B23").Copy Destination:=Sheets("Riepilogo").Range("BM" & UR)
Sheets("Temp").Range("B24").Copy Destination:=Sheets("Riepilogo").Range("BN" & UR)
Sheets("Temp").Range("B25").Copy Destination:=Sheets("Riepilogo").Range("BO" & UR)
Sheets("Temp").Range("B26").Copy Destination:=Sheets("Riepilogo").Range("BP" & UR)
Sheets("Temp").Range("B27").Copy Destination:=Sheets("Riepilogo").Range("BQ" & UR)
Sheets("Temp").Range("B28").Copy Destination:=Sheets("Riepilogo").Range("BR" & UR)
Sheets("Temp").Range("C29").Copy Destination:=Sheets("Riepilogo").Range("BS" & UR)

Sheets("Temp").Select
ActiveSheet.Shapes.Range(Array("Text Box 2")).Select
Selection.Copy
Sheets("Riepilogo").Select
Range("BU" & UR).Select
ActiveSheet.Paste

Sheets("Temp").Select
ActiveSheet.Shapes.Range(Array("Text Box 4")).Select
Selection.Copy
Sheets("Riepilogo").Select
Range("CG" & UR).Select
ActiveSheet.Paste

Sheets("Temp").Select
ActiveSheet.Shapes.Range(Array("Text Box 6")).Select
Selection.Copy
Sheets("Riepilogo").Select
Range("CS" & UR).Select
ActiveSheet.Paste

'-----

End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

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

Postdi josple » 28/01/15 13:21

Farò come hai detto nella prima ipotesi. Metto tutti i file origine nella stessa cartella e poi eventualmente modifico il file eliminando i test.
Per quanto riguarda il nuovo codice, non crea più la cartella archivio, ma crea solamente una copia del foglio temp in coda al foglio riepilogo. Tuttavia la shapes sembra essere copiata correttamente, senza sovrapposizioni.
josple
Utente Junior
 
Post: 27
Iscritto il: 19/01/15 15:01

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

Postdi Flash30005 » 28/01/15 14:48

Se la cartella ArchivioXls esiste non la crea altrimenti si

Non capisco cosa intendi per "tuttavia crea un foglio Temp in coda al foglio Riepilogo"
Il file con la macro Deve avere sia il foglio temp sia il foglio riepilogo guai se non fosse così

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

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

Postdi josple » 28/01/15 15:31

Mi sono espresso male.
Quello che intendevo dire è che il nuovo codice, partendo dalla directory con i files dati-origine, non crea la cartella archivioxls. Questo non perchè è già creata, ma perchè la macro non viene eseguita correttamente ( mentre con il codice precedente tutto veniva eseguito regolarmente, eccetto la copia delle shapes).
Per quello che riguarda invece la "copia del foglio temp in coda al foglio di riepilogo", ciò che si verifica eseguendo la nuova macro, è una copia della tabella contenuta nel foglio temp (rielaborata secondo le regole di impaginazione stabilite) e incollata in foglio riepilogo in coda ai test precedenti (AF e AR che erano già presenti nel file Macro).
Spero di essere stato più chiaro.
Sto prendendo visione dei codici e cercando di "fondere" la parte riguardante la copia del codice 1 con la parte riguardante le shapes del codice 2, sperando di creare un codice 3 funzionante al 100%.
Ti farò sapere l'esito al più presto.
josple
Utente Junior
 
Post: 27
Iscritto il: 19/01/15 15:01

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

Postdi josple » 28/01/15 15:46

Flash, il codice 3 di cui sopra funziona correttamente. Il foglio riepilogo viene compilato a dovere con tutti i dati provenienti dai vari files origine. Tuttavia le shapes, sebbene correttamente incollate, presentano tutte il medesimo testo. Non essendo del "mestiere" posso solo ipotizzare che il problema possa risiedere nel comando

"ActiveSheet.Shapes.Range(Array("Text Box 2")).Select
Selection.Copy"
Probabilmente quello che fa è di copiare il testo della shapes del primo file, ma io vorrei copiasse per ogni file origine le corrispondenti shapes. Come posso rimediare?
josple
Utente Junior
 
Post: 27
Iscritto il: 19/01/15 15:01

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

Postdi Flash30005 » 28/01/15 16:16

Ho fatto diversi test eppure a me funziona regolarmente

prova a scaricare questo file

e fammi sapere dove trovi incongruenze.

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

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

Postdi josple » 28/01/15 16:33

Non so quali siano le incongruenze, ma con il file Macro3 adesso funziona tutto molto bene! Come al solito sei gentilissimo!
josple
Utente Junior
 
Post: 27
Iscritto il: 19/01/15 15:01

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

Postdi josple » 28/01/15 17:31

Caro Flash, adesso che il file è correttamente impaginato mi rendo conto che scorrendo il foglio verso il basso e verso destra si perdono di vista i riferimenti in riga 1 e quelli in colonna A. Pertanto risulta piuttosto scomodo andare a vedere di volta in volta a che cosa e a chi si riferisce un valore contenuto in una data cella.
E' possibile dunque fare in modo che la riga 1 (e volendo anche la colonna A), contenenti le voci di riferimento, scorrano insieme al foglio in modo da averle sempre in primo piano?
josple
Utente Junior
 
Post: 27
Iscritto il: 19/01/15 15:01

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

Postdi josple » 28/01/15 17:57

Flash ho risolto, era la funzione visualizza blocca riquadri! :D
josple
Utente Junior
 
Post: 27
Iscritto il: 19/01/15 15:01

Prossimo

Torna a Applicazioni Office Windows


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


Chi c’è in linea

Visitano il forum: Ricky0185 e 37 ospiti