Проблема в том, что когда вы определяете свой адрес, переменная «Address» получает строку адреса, например «B2». Вам необходимо создать объект диапазона из этой адресной строки, как показано в коде ниже. Для цвета Font я получаю .Font.Color, работающий так:
Option Explicit
Sub test()
Dim addr As Variant
Dim TestBool As Boolean
addr = Cells(2, 2).Address
Debug.Print addr
TestBool = True
If TestBool = True Then
Range(addr).Interior.Color = RGB(0, 255, 0) And Range(addr).Font.Color = RGB(0, 255, 0)
End If
End Sub
Второй метод является ярлыком на первый, он был представлен в C# 2.0
См. также этот поток.
Они - точно то же, его названный сахар синтаксиса.
Существует много вещей, которые не необходимы, для получения лучшее представление о них, в то время как программирование Вас должно попробовать что-то как Resharper. Это окрасит ненужный Серый код. Не говоря уже о целом несметном числе невероятных инструментов и рефакторингов.