Знак присвоения без SET присваивает скалярное значение. А с SET - ссылку на объект. То есть использовать его или нет - зависит от типа значения справа от знака присвоения. Ну и желаемого результата, конечно (включая и желание не получить ошибку несоответствия типов).
Пример.
Вы увидите, что первый оператор присвоения присвоил переменной
x скалярное значение. Поскольку справа был объект, то в качестве скалярного значения было взято свойство объекта по умолчанию. Для объекта типа Range объектом по умолчанию является его свойство .Value - посему в переменную помещено значение 123. И соответственно переменная имеет тип Variant/Double.
А вот второй оператор присвоения, использующий Set, поместил во вторую переменную
y ссылку на объект Range. И переменная имеет тип Variant/Object/Range.