
Private Sub Sfoglia_Files()
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''' ATTENZIONE RICHIEDE L'ATTIVAZIONE DELLA LIBRERIA MICROSOFT SCRIPTING RUNTIME '''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim strPath As String
Dim objFSY As FileSystemObject
Dim objFOL As Folder
Dim objFIL As File
Dim wbFrom As Workbook, wbTo As Workbook
Dim wsFrom As Worksheet, wsTo As Worksheet
Dim x As Long, i As Long
Dim rngCopy As Range
Set wbTo = ThisWorkbook
Set wsTo = wbTo.Sheets(1)
strPath = "C:ProveFiles" '''QUI IL PERCORSO
Set objFSY = New FileSystemObject
Set objFOL = objFSY.GetFolder(strPath)
For Each objFIL In objFOL.Files
x = wsTo.Range("B" & wsTo.Rows.Count).End(xlUp).Row + 1
Set wbFrom = Application.Workbooks.Open(objFIL)
Set wsFrom = wbFrom.Sheets(1)
With wsFrom
i = .Range("B" & .Rows.Count).End(xlUp).Row
Set rngCopy = .Range("B3:Q" & i)
rngCopy.Copy wsTo.Cells(x, 2)
Set rngCopy = Nothing
End With
wbFrom.Close 0
Set wbFrom = Nothing
Set wsFrom = Nothing
Next
Set objFSY = Nothing
Set objFOL = Nothing
Set wbTo = ThisWorkbook
Set wsTo = Nothing
End Sub
|
strPath = "C:ProveFiles" '''QUI IL PERCORSO è strPath = "C:ProveFiles" '''QUI IL PERCORSO |
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''' ATTENZIONE RICHIEDE L'ATTIVAZIONE DELLA LIBRERIA MICROSOFT SCRIPTING RUNTIME ''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '' Per l'attivazione andare su "Strumenti", "Riferimenti", cercare e spuntare il nome '' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''' ATTENZIONE RICHIEDE L'ATTIVAZIONE DELLA LIBRERIA MICROSOFT SCRIPTING RUNTIME ''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '' Per l'attivazione andare su "Strumenti", "Riferimenti", cercare e spuntare il nome '' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''' ATTENZIONE RICHIEDE L'ATTIVAZIONE DELLA LIBRERIA MICROSOFT SCRIPTING RUNTIME ''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '' Per l'attivazione andare su "Strumenti", "Riferimenti", cercare e spuntare il nome '' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''' ATTENZIONE RICHIEDE L'ATTIVAZIONE DELLA LIBRERIA MICROSOFT SCRIPTING RUNTIME ''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '' Per l'attivazione andare su "Strumenti", "Riferimenti", cercare e spuntare il nome '' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' |
Sostituisci
Set rngCopy = .Range("B3:Q" & i)
rngCopy.Copy wsTo.Cells(x, 2)
con
Set rngCopy = .Range("A3:CQ" & i)
rngCopy.Copy wsTo.Cells(x, 1) |
Private Sub Sfoglia_Files()
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''' ATTENZIONE RICHIEDE L'ATTIVAZIONE DELLA LIBRERIA MICROSOFT SCRIPTING RUNTIME '''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim strPath As String
Dim objFSY As FileSystemObject
Dim objFOL As Folder
Dim objFIL As File
Dim wbFrom As Workbook, wbTo As Workbook
Dim wsFrom As Worksheet, wsTo As Worksheet
Dim x As Long, i As Long
Dim rngCopy As Range
Set wbTo = ThisWorkbook
Set wsTo = wbTo.Sheets(1)
strPath = "........................" '''QUI IL PERCORSO NON SERVE LA FINALE
Set objFSY = New FileSystemObject
Set objFOL = objFSY.GetFolder(strPath)
For Each objFIL In objFOL.Files
x = wsTo.Range("B" & wsTo.Rows.Count).End(xlUp).Row + 1
Set wbFrom = Application.Workbooks.Open(objFIL)
Set wsFrom = wbFrom.Sheets(1) 'PUNTA SUL FOGLIO 1
With wsFrom
i = .Range("B" & .Rows.Count).End(xlUp).Row 'SULLA COLONNA B DEVONO SEMPRE ESSERCI VALORI
Set rngCopy = .Range("a2:cQ" & i) 'COPIA I VALORI DA A2 A CQ+ULTIMA RIGA
rngCopy.Copy wsTo.Cells(x, 1) 'SCRIVE DOPO L'ULTIMA RIGA
Set rngCopy = Nothing
End With
wbFrom.Close 0
Set wbFrom = Nothing
Set wsFrom = Nothing
Next
Set objFSY = Nothing
Set objFOL = Nothing
Set wbTo = ThisWorkbook
Set wsTo = Nothing
End Sub
|
Option Explicit
Sub copia()
Dim WB As Workbook
Dim Ws1 As Worksheet
Dim Percorso As String, nomeFile As String, Uriga As Long, Ur As Long
Percorso = "D:106mimmo 2" '<=== QUI DIGITA IL TUO PERCORSO con la finale
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Set Ws1 = ThisWorkbook.Worksheets("Foglio1")
nomeFile = Dir(Percorso)
Do While nomeFile <> ""
If nomeFile <> ThisWorkbook.Name Then
Workbooks.Open (Percorso & "" & nomeFile)
Ur = Workbooks(nomeFile).Worksheets("Reportistica").Range("B" & Rows.Count).End(xlUp).Row
Workbooks(nomeFile).Worksheets("Reportistica").Range("A2:CQ" & Ur).Copy
Uriga = Ws1.Range("B" & Rows.Count).End(xlUp).Row + 1
Ws1.Range("A" & Uriga).PasteSpecial
Workbooks(nomeFile).Close False
End If
nomeFile = Dir
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "Fatto"
Set Ws1 = Nothing
End Sub |
