Я считаю, что вы используете Excel 2010. И, к сожалению, это ошибка в Excel 2010. Не уверен, если это было исправлено в Excel 2013.
Вот альтернатива. Создайте новую книгу и вставьте этот код в модуль.
Logic: The .TintAndShade
работает для ячейки .Interior
и, следовательно, мы будем использовать, что вместо .TintAndShade
для шрифта ячейки.
Код:
Sub Sample()
Dim ws As Worksheet
Dim i As Long
Set ws = ThisWorkbook.Sheets("Sheet1")
With ws
.Range("B1:B256").Value = "Blah Blah"
For i = 1 To 256
.Range("A" & i).Interior.ThemeColor = xlThemeColorAccent2
.Range("A" & i).Interior.TintAndShade = (i * 2 - 256)/256
.Range("B" & i).Font.Color = .Range("A" & i).Interior.Color
Next i
End With
End Sub
ScreenShot:
При запуске этого вы будете видеть изменение яркости шрифта, как показано на скриншоте ниже. :)
Примечание:
Для реального времени сценарии, создать временный лист и в любой клетке, установите его .Interior.TintAndShade
, а затем использовать это, чтобы установить яркость шрифта соответствующую ячейку и один раз просто удалите временную таблицу.
Еще один отличный ответ, +1. – pnuts
Что сказал @pnuts. –