Function Conta2Condizioni(Zona1 As Range, cond1, Zona2 As Range, cond2) 'CONTA quante volte ricorrono 2 CONDIZIONI
Dim cartella As String, foglio As String, rng As Range, contatore As Long
Dim cella1 As Range, cella2 As Range
On Error Resume Next
cartella = Zona1.Parent.Parent.Name
foglio = Zona1.Parent.Name
For Each rng In Zona1
Set cella1 = Workbooks(cartella).Worksheets(foglio).Cells(rng.Row, Zona1.Column)
Set cella2 = Workbooks(cartella).Worksheets(foglio).Cells(rng.Row, Zona2.Column)
If Trim(UCase(cella1)) = Trim(UCase(cond1)) And Trim(UCase(cella2)) = Trim(UCase(cond2)) Then contatore = contatore + 1
Next
Conta2Condizioni = contatore
End Function
Function Trova2Condizioni(Zona1 As Range, cond1, Zona2 As Range, cond2, Offset) 'TROVA il primo risultato di 2 CONDIZIONI in Campo Offset
Dim cartella As String, foglio As String, rng As Range
Dim cella1 As Range, cella2 As Range
On Error Resume Next
cartella = Zona1.Parent.Parent.Name
foglio = Zona1.Parent.Name
For Each rng In Zona1
Set cella1 = Workbooks(cartella).Worksheets(foglio).Cells(rng.Row, Zona1.Column)
Set cella2 = Workbooks(cartella).Worksheets(foglio).Cells(rng.Row, Zona2.Column)
If Trim(UCase(cella1)) = Trim(UCase(cond1)) And Trim(UCase(cella2)) = Trim(UCase(cond2)) Then
Cella = Workbooks(cartella).Worksheets(foglio).Cells(rng.Row, Offset)
Exit For
End If
Next
Trova2Condizioni = Cella
End Function 'Trova2Condizioni
Function Somma2Condizioni(Zona1 As Range, cond1, Zona2 As Range, cond2, Offset) ' SOMMA Risultato di 2 CONDIZIONI in Campo Offset
Dim cartella As String, foglio As String, rng As Range
Dim cella1 As Range, cella2 As Range
On Error Resume Next
cartella = Zona1.Parent.Parent.Name
foglio = Zona1.Parent.Name
For Each rng In Zona1
Set cella1 = Workbooks(cartella).Worksheets(foglio).Cells(rng.Row, Zona1.Column)
Set cella2 = Workbooks(cartella).Worksheets(foglio).Cells(rng.Row, Zona2.Column)
If Trim(UCase(cella1)) = Trim(UCase(cond1)) And Trim(UCase(cella2)) = Trim(UCase(cond2)) Then
Somma = Somma + Workbooks(cartella).Worksheets(foglio).Cells(rng.Row, Offset)
End If
Next
Somma2Condizioni = Somma
End Function 'Somma2Condizioni
|