Corrado presented the following explanation :
Soluzione in VBA:
============================================
Public Sub Totali()
Dim SH() As String, OS As New Collection
Dim SourceRange As String, TargetRange As Range
Dim k As Long, p As Long, i, j, h, SR As Range
Dim SheetPrefix As String
'---- Definizioni ------------
SourceRange = "A17"
Set TargetRange = [Riepilogo!A4]
SheetPrefix = "paz."
'---------------------------------
If TargetRange <> "" Then
Range(TargetRange(1, 1), TargetRange.End(xlDown)). _
Resize(, 15).ClearContents
End If
For Each i In Sheets
If Left(i.Name, Len(SheetPrefix)) = SheetPrefix Then
k = k + 1
ReDim Preserve SH(1 To k)
SH(k) = i.Name
End If
Next
k = 0
For Each i In SH
Set SR = Sheets(i).Range(SourceRange)
Set SR = Range(SR, SR.End(xlDown))
For Each j In SR
On Error GoTo Totali_Err
OS.Add j, CStr(j)
k = k + 1
TargetRange(k, 1) = j
TargetRange(k, 3) = j(1, 3)
Continua:
Next
Next
Set TargetRange = Range(TargetRange, TargetRange(k))
For Each i In SH
Set SR = Sheets(i).Range(SourceRange)
Set SR = Range(SR, SR.End(xlDown))
For Each j In SR
For Each h In TargetRange
If j = h Then
For p = 4 To 15
h(1, p) = h(1, p) + j(1, p)
Next
End If
Next: Next: Next
Exit_Sub:
Exit Sub
Totali_Err:
On Error GoTo 0
Resume Continua
End Sub
======================================================
Bruno
PS
Nuovi Operatori Sanitari e nuovi Pazienti (fogli) vanno
inseriti a mano; poi la procedura li individua automaticamente.