chiedo se è possibile inibire una funzione posizionata in un foglio poiché interferisce con altra macro rendendola inutilizzabile. La funzione somma tutti i valori delle celle che si trovano in una colonna e che tutte hanno lo lo stesso colore dello sfondo ed è
- Codice: Seleziona tutto
Function SommaCellePerColore(rData As Range, cellRefColor As Range)
Dim indRefColor As Long
Dim cellaCorrente As Range
Dim sumRes, noVal As Boolean '
Application.Volatile
sumRes = 0
indRefColor = cellRefColor.Cells(1, 1).Interior.Color
For Each cellaCorrente In rData
If indRefColor = cellaCorrente.Interior.Color Then
sumRes = WorksheetFunction.Sum(cellaCorrente, sumRes)
noVal = False
Else
noVal = True
End If
Next cellaCorrente
If noVal Then
SommaCellePerColore = ""
Else
SommaCellePerColore = sumRes
End If
End Function
Poi nella cella dove voglio il risultato scrivo
- Codice: Seleziona tutto
=SommaCellePerColore($D$503:D2617;F2617)
Dove D:D è l’area della colonna D in esame ed F è il colore dello sfondo della cella campione.
O se non è possibile trasformare la Function in una Sub, da lanciare con un bottone, che mi metta il risultato in
Range("B504").End(xlDown).Offset(0, 10) = SommaCellePerColore.Value
Cordiali saluti
R