cotton_eye_joe [ maniaq ]
czy mozna zrobic cos takiego w Excelu?
chce dodac nowa kolumne do tego arkusza, ktora bedzie zliczala wszystkie pola fioletowe (urlopy) w danym rzedzie. pole "urlop" rozni sie od zwyklego TYLKO kolorem tla. da sie cos takiego wogole zrobic?
cotton_eye_joe [ maniaq ]
up!
moja kadrowa sie powiesi :P
PalooH [ mag i ster ]
Da się :)
Narzędzia -> Makro -> Edytor Visual Basic
Insert -> Module
i wstawiasz tam to:
Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean)
Dim rCell As Range
Dim lCol As Long
Dim vResult
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
Przykładowo, aby zsumować jakiś kolor piszemy w komórce w której ma być wynik:
=ColorFunction(c1;a1:a10;PRAWDA)
i zatwierdzamy enterkiem
i tak:
c1 - adres komórki, zabarwionej kolorem jaki chcemy sumować
a1:a10 - zakres sumowanych komórek
PRAWDA - dzięki temu sumuje nam watrości komórek a nie podaje ile jest komórek o takim zabarwieniu
Jeżeli chcesz dowiedzieć się ile masz np. zielonych komórek piszesz
=ColorFunction(c1;a1:a10)
Oczywiście c1 jest komórką zabarwioną na zielono
a a1:a10 to zakres :)
cotton_eye_joe [ maniaq ]
dziala!
dzieki wielkie!