Код ниже заканчивается преждевременно и, следовательно, никогда не устанавливает цвет интерьера. Есть идеи, что я делаю не так?
Вторая проблема заключается в том, что он не воспринимает цвет фона для аргумента "c" должным образом. Кажется, всегда используется белый (16777215) для цвета фона, даже когда я установил цвет фона на что-то другое.
Function Darken(c As Range) As Long
chg = 0.8
Dim clr As Long
clr = ActiveSheet.Cells(c.Row, c.Column).Interior.Color '<< ALWAYS GRABS 16777215, REGARDLESS OF ACTUAL BACKGROUND COLOR
cRed = clr Mod 256
cGreen = (clr \ 256) Mod 256
cBlue = clr \ (65336)
ActiveCell.Interior.Color = RGB(Int(cRed * chg), Int(cGreen * chg), _
Int(cBlue * chg)) '<< CODE TERMINATES HERE PREMATURELY. WHY DOESN'T IT LIKE THIS?
Darken = clr
End Function