By MrRemodel joi, 05 ianuarie 2023
postat în Excel
Răspunsuri 1
Preferințe 0
Vizualizări 3.6 K
Voturi 0
Vă mulțumim anticipat pentru orice ajutor pe care îl puteți oferi.

Cu ajutorul acestui site am creat următoarea funcție;

Funcție ColorFunction(rColor As Range, rRange As Range, Opțional SUM As Boolean)
Dim rCell As Range
Dim lCol As Long
Dim vResult
lCol = rColor.Interior.ColorIndex
Dacă SUM = Adevărat, atunci
Pentru fiecare rCell din rRange
Dacă rCell.Interior.ColorIndex = lCol Atunci
vResult = WorksheetFunction.SUM(rCell, vResult)
Final, dacă
Următorul rCell
Altfel
Pentru fiecare rCell din rRange
Dacă rCell.Interior.ColorIndex = lCol Atunci
vResult = 1 + vResult
Final, dacă
Următorul rCell
Final, dacă
ColorFunction = vResult
Sfârşit Funcţia


În fiecare celulă țintă pe care vreau o sumă a tuturor celulelor din acel rând care conțin culoarea celulei specificate;
=funcție de culoare(AR4,H5:AP5,TRUE)

Cum pot face ca vânzarea țintă să se actualizeze atunci când orice altă celulă din rând (H5:AP5) își schimbă culoarea?
Salut,

Puteți adăuga codul: Aplicație.Calcul = xlAutomatic la funcția ta:

Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean)
Dim rCell As Range
Dim lCol As Long
Dim vResult
Application.Calculation = xlAutomatic
lCol = rColor.Interior.ColorIndex
If SUM = True Then
For Each rCell In rRange
If rCell.Interior.ColorIndex = lCol Then
vResult = WorksheetFunction.SUM(rCell, vResult)
End If
Next rCell
Else
For Each rCell In rRange
If rCell.Interior.ColorIndex = lCol Then
vResult = 1 + vResult
End If
Next rCell
End If
ColorFunction = vResult
End Function


Vă rugăm să încercați.

Amanda
·
1 ani în urmă
·
0 Îi place
·
0 Voturi
·
4 Comentarii
·
Vizualizați mesajul complet