Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Il file "user", punta al file "ORARIO", ho utilizzato la funzione INDIRETTO per avere un puntatore dinamico alla creazione di nuovi fogli nel file principale.
Grazie
Visto che non sei digiuno di programmazione, ti lascio il codice da inserire in User:
Option Explicit
Sub Classi()
Dim lngRow As Long, lngCol As Long
Dim lngColS As Long, rngCell As Range
Dim lngSet As Long, datDate As Date, lngH As Long
Dim wksThis As Worksheet
Set wksThis = ActiveSheet
For lngRow = 3 To 30
If Cells(lngRow, 1) > 0 Then
For lngCol = 2 To 16
If wksThis.Cells(2, lngCol).Value <> "" Then
lngSet = Application.Max(wksThis.Range("T1:T" & lngRow))
datDate = Application.Max(Range(wksThis.Cells(1, 1), wksThis.Cells(1, lngCol + 1)))
lngH = wksThis.Cells(lngRow, 1).Value
With Workbooks("Orario.xls").Worksheets("Set" & lngSet)
lngColS = Application.Match(CLng(datDate), .Range("A1:AZ1"), 0)
Set rngCell = .Cells(3, lngColS - 1 + Application.Match(lngH, .Range(.Cells(2, lngColS), .Cells(2, 100)), 0))
End With
If rngCell.Value <> "" Then rngCell.Copy wksThis.Cells(lngRow, lngCol)
End If
Next lngCol
End If
Next lngRow
End Sub
Puoi integrarlo con la gestione errori in caso non trovi i fogli Setx, inoltre te l'ho predisposto per gestire le colonne, visto che dall'esempio non era chiaro come volessi gestire i nomi e/o le classi. Potresti anche rendere dinamico il file Orario.xls o aggiungerci mille altri ammennicoli, ma direi che per ora fa il suo dovere.
Se ti occorrono spiegazioni chiedi pure,
ciao.