Četrtek, 05 januar 2023
  1 odgovori
  3.7 tisoč obiskov
0
Glasov
Razveljavi
Vnaprej hvala za kakršno koli pomoč glede tega, ki jo lahko ponudite.

S pomočjo tega mesta sem ustvaril naslednjo funkcijo;

Funkcija ColorFunction(rBarva kot obseg, rRazpon kot obseg, neobvezno SUM kot logična vrednost)
Zatemni rCell kot obseg
Dim lCol Tako dolgo
Dim vResult
lCol = rColor.Interior.ColorIndex
Če je SUM = True Potem
Za vsako rCell v rRange
Če je rCell.Interior.ColorIndex = lCol Potem
vResult = WorksheetFunction.SUM(rCell, vResult)
Konec Če
Naslednja rCell
Else
Za vsako rCell v rRange
Če je rCell.Interior.ColorIndex = lCol Potem
vResult = 1 + vResult
Konec Če
Naslednja rCell
Konec Če
ColorFunction = vResult
End Function


V vsaki ciljni celici, za katero želim vsoto vseh celic v tej vrstici, ki vsebujejo barvo določene celice;
=barvna funkcija(AR4,H5:AP5,TRUE)

Kako lahko zagotovim, da se ciljna prodaja posodobi, ko katera koli druga celica v vrstici (H5:AP5) spremeni barvo?
Zdravo,

Lahko dodate kodo: Aplikacija.Izračun = xlSamodejno na vašo funkcijo:

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


Prosim poskusite.

Amanda
  • Stran:
  • 1
Za to objavo še ni odgovorov.