Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Luca,
Prova qualcosa del genere:
Alt-F11 per aprire l'editor di VBA
Alt-IMper inserire un nuovo modulo di codice
Nel nuovo modulo vuoto, incolla il seguente codice:
'===========>>
Option Explicit
'----------->>
Public Sub Tester()
Dim FSO As Object
Dim oFile As Object
Dim oFiles As Object
Dim oFolder As Object
Dim srcWb As Workbook, destWB As Workbook
Dim srcSH As Worksheet, destSH As Worksheet
Dim srcRng As Range, destRng As Range
Dim arrIn() As Variant, arrHeaders As Variant
Dim i As Long, j As Long, k As Long
Const sPercorso As String = "C:\Schede Strumenti"
Const sSummary As String = "Riepilogo"
Const srcShName = "STRINGA"
Const sNameType As String = "??-####*.xls"
Const sHeaders As String = _
"ID,Col2,Col3,Col4,Col5,Col6,Col7,Col8,col9, col10" '<<==== Modifica
arrHeaders = Split(sHeaders, ",")
Set destWB = ThisWorkbook
With destWB
On Error Resume Next
With Application
.ScreenUpdating = True
.DisplayAlerts = False
.Sheets(sSummary).Delete
.DisplayAlerts = True
Err.Clear
End With
On Error GoTo XIT
Set destSH = destWB.Sheets.Add(after:=.Sheets(.Sheets.Count))
End With
With destSH
.Name = sSummary
.Range("A1").Resize(1, UBound(arrHeaders) + 1).Value = arrHeaders
End With
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = FSO.GetFolder(sPercorso)
Set oFiles = oFolder.Files
For Each oFile In oFiles
With oFile
Debug.Print oFile.Name
If .Name Like sNameType Then
i = i + 1
Set srcWb = Workbooks.Open(oFile)
Set srcSH = srcWb.Sheets(srcShName)
Set srcRng = srcSH.Range("A5:I5")
j = srcRng.Columns.Count
ReDim Preserve arrIn(1 To j + 1, 1 To i)
arrIn(1, i) = Split(oFile.Name, ".")(0)
For k = 1 To j
arrIn(k + 1, i) = srcRng.Cells(k).Value
Next k
srcWb.Close savechanges:=False
End If
End With
Next oFile
With destSH
Set destRng = destSH.Range("A2").Resize(i, j + 1)
destRng.Value = Application.Transpose(arrIn)
End With
XIT:
Application.ScreenUpdating = True
End Sub
'<<===========
Alt-Q per chiudere l'editor di VBA
Alt-F8 per aprire la finestrina macro
Seleziona Tester | Esegui
===
Regards,
Norman