di Andromeda59 » 23/12/14 09:54
Buongiorno Anthony47,
hai ragione, non sapevo che il file venisse cancellato.
Uso questa macro che tu hai "perfezionato" e funziona benissimo:
Option Explicit
Public Sub m()
On Error GoTo RigaErrore
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Dim sPath As String
With Application
.ScreenUpdating = False
End With
sPath = ThisWorkbook.Path & "\Prova\"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(sPath)
For Each objFile In objFolder.Files
If Right(objFile.Name, 3) = "csv" Then
ThisWorkbook.Worksheets.Add
ActiveSheet.Name = objFile.Name
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & sPath & objFile.Name, _
Destination:=Range("A1"))
.Name = "Cartel2"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1250
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True '<<===Delimitatore
.TextFileCommaDelimiter = True '<<===Delimitatore
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1) '<<=== Numero colonne da modificare
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End If
Range("A1").Select
Application.Intersect(Range("D2:D20000, F2:F20000, G2:G20000, H2:H20000, I2:I20000, J2:J20000, K2:K20000, AJ2:AJ20000, AK2:AK20000"), _
Range(Selection, ActiveCell.SpecialCells(xlLastCell))).Copy _
Destination:=Sheets("Riepilogo").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
Next
RigaChiusura:
Set objFile = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
With Application
.ScreenUpdating = True
End With
Exit Sub
RigaErrore:
MsgBox Err.Number & vbNewLine & Err.Description
Resume RigaChiusura
End Sub
Vorrei sapere se è possibile aggiungere un istruzione che man mano che arrivano questi dati in CSV nel foglio "riepilogo" mi vengano aggiornati i dati secondo le date e aggiunti i dati non presenti.
Pensi sia possibile.
Grazie
====
Andromeda
Windows 8.1 - Excel 2013