
Sub SingoloMat()
Dim CL As Object
Dim a As String
Dim i, k, j As Integer
Dim nomi(25, 4) As String
Dim valori(25, 4) As Integer
'Colonne su J
'Colonne nomi: 3, 9, 15, 21
'Colonne valori: 6, 12, 18, 24
'Righe k dalla 3 alla 27
For j = 0 To 3
For k = 0 To 24
Sheets("UNO").Select
nomi(k, j) = Cells(3 + k, (6 * j) + 3).Text 'assegno il nome nella matrice
a = nomi(k, j)
For i = 7 To (Sheets.Count)
Set zona = Worksheets(i).UsedRange
For Each CL In zona 'ciclo di ricerca in ogni cella dell'area "zona"
If CL.Value = a Then
CL.Select
ActiveCell.Offset(0, 1).Select
valori(k, j) = valori(k, j) + ActiveCell.Value
End If
Next
Next
Sheets("UNO").Cells(3 + k, (6 * j) + 6).Value = valori(k, j)
Next
Next
Sheets("UNO").Select
End Sub
|
If CL.Value = a Then
CL.Select
ActiveCell.Offset(0, 1).Select
valori(k, j) = valori(k, j) + ActiveCell.Value
End If
DIVENTA
If CL.Value = a Then
valori(k, j) = valori(k, j) + CL.Offset(0, 1).Value
End If
Sub SingoloMat()
Dim CL As Object
Dim a As String
Dim i, k, j As Integer
Dim nomi(25, 4) As String
Dim valori(25, 4) As Integer
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
For j = 0 To 3
For k = 0 To 24
nomi(k, j) = Sheets("UNO").Cells(3 + k, (6 * j) + 3).Text 'assegno il nome nella matrice
a = nomi(k, j)
For i = 7 To (Sheets.Count)
Set zona = Worksheets(i).UsedRange
For Each CL In zona 'ciclo di ricerca in ogni cella dell'area "zona"
If CL.Value = a Then
valori(k, j) = valori(k, j) + CL.Offset(0, 1).Value
'Exit For <= se applicabile ovvero cerca un solo valore
End If
Next CL
Next i
Sheets("UNO").Cells(3 + k, (6 * j) + 6).Value = valori(k, j)
Next k
Next j
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub
|
