
Functia Sumif in Visual Basic
UPDATE – functioneaza si in Excel 2013/2016
Microsoft Office Excel 2010,2007 – nu au functie default care stie sa adune valorile din celule pe baza culorilor, dar suma valorilor se poate realiza folosind structura de tip Table si filtrarea pe baza culorii celulei sau se poate construi o functie
care realizeaza aceasta operatie.
Pentru a construi functia se apasa combinatia de taste Alt+ F11 si apare Fereastra Microsoft Visual Basic
Clic pe meniul Insert si clic pe optiunea Module
Se introduce in fereastra aparuta codul pentru functia construita de catre user (vezi exemplu mai jos) care executa
operatia de adunare a valorilor din celule care au culoarea dorita.
Exemplu de cod:
Function SumInteriorCuloare(Culoare_Interior As Range, Zona_Insumare As Range)
‘Def variabilelor
Dim ssRange As Range
Dim sumaColor As Long
Dim zZona_Insumare As Range
‘Def constantelor
sumaColor = 0
Set zZona_Insumare = Zona_Insumare
vCuloare = Culoare_Interior.Interior.ColorIndex
‘ Suma pe culori
For Each ssRange In zZona_Insumare
If ssRange.Interior.ColorIndex = vCuloare Then
sumaColor = sumaColor + ssRange.Cells.Value
End If
Next ssRange
‘ Returnare rezultat
SumInteriorCuloare = sumaColor
End Function
- Se inchide Fereastra Visual Basic
- Clic pe tab-ul Formulas, cilc pe butonul Insert Function
Apare fereastra Insert Function, se alege categoria User Defined
Se selecteaza Functia construita SumInteriorCuloare, apoi clic pe butonul Ok.
Apare fereastra Function Arguments
- In caseta corespunzatoare zonei Culoare_Interior avem introdusa adresa unei celule colorate ce contine culoarea
respectiva(rosu). - In caseta corespunzatoare zonei Zona_Insumare avem introdusa adresa zonei de celule cu valori.
- Clic pe Ok
- Se obtine valoarea 1 pentru celulele care au culoarea rosu.
- Se obtine valoarea 9 pentru celulele care au culoarea galben.
- Se obtine valoarea 13 pentru celulele care au culoarea albastru.
Functia SUMIF Visual Basic
No Comments