
Private Sub Workbook_Open()
Call Copia_dati
End Sub
Sub Copia_dati()
Dim i As Long, Dati As Range, uCol As Long, Nome_file As String
Dim percorso As String
percorso = ThisWorkbook.Path & ""
Application.ScreenUpdating = False
With Worksheets("Test")
uCol = .Cells(3, Columns.Count).End(xlToLeft).Column
For i = 3 To uCol Step 2
Nome_file = .Cells(3, i).Value & ".xlsx"
Set Dati = .Range(Cells(4, i), Cells(5, i + 1))
Dati.Copy
Application.DisplayAlerts = False
Workbooks.Open percorso & Nome_file
Range("C4").PasteSpecial xlPasteValues
Range("C4").Select
ActiveWorkbook.Close True
Application.DisplayAlerts = True
Next i
Application.CutCopyMode = False
End With
Application.ScreenUpdating = False
Set Dati = Nothing
MsgBox "Dati copiati!", vbInformation
End Sub
|
Sub Copia_dati()
Dim i As Long, Dati As Range, uCol As Long, Nome_file As String
Dim percorso As String, uRiga As Long, j As Long, Aperti As Workbook
percorso = ThisWorkbook.Path & ""
Application.ScreenUpdating = False
For Each Aperti In Workbooks
If Aperti.Name <> ThisWorkbook.Name Then
Aperti.Close True
End If
Next
With Worksheets("Test")
uCol = .Cells(3, Columns.Count).End(xlToLeft).Column + 1
uRiga = .Range("C" & Rows.Count).End(xlUp).Row
.Range(Cells(4, 3), Cells(uRiga, uCol)).ClearContents
For i = 3 To uCol Step 2
Nome_file = .Cells(3, i).Value & ".xlsx"
Application.DisplayAlerts = False
Workbooks.Open percorso & Nome_file
For j = 4 To uRiga
If Cells(j, 2).Value <= Now Then
.Cells(j, i).Value = Cells(j, 3).Value
.Cells(j, i + 1).Value = Cells(j, 4).Value
End If
Next j
ActiveWorkbook.Close True
Application.DisplayAlerts = True
Next i
Application.CutCopyMode = False
End With
Application.ScreenUpdating = False
Set Dati = Nothing
MsgBox "Dati copiati!", vbInformation
End Sub |
