Зачем использовать Range.Formula в VBA для Excel 2003 вместо Range.Value?
Мне было интересно, почему в коде VBA для Excel 2003 нам даже нужно использоватьRange.Formula
взаписывать формула для клетки, а не просто с помощьюRange.Cell
? Они оба записывают строки в ячейку, которая становится форумной, и формула работает (из того, что я проверял).
ActiveCell.Value="=If(True,""yes"",""no"")"
а также
ActiveCell.Formula="=If(True,""yes"",""no"")"
сделать то же самое для меня (когда я выбираю ячейку и выполняю каждый из указанных выше сегментов кода отдельно в отдельных ячейках). Они оба показывают значение «да» в ячейке, и формула сохраняется, когда я нажимаю, чтобы просмотреть каждую ячейку.
Я посмотрел на Microsoft Dev Center для информации:
Range.Formula
Свойство Range.Formula для Excel 2013 (в Excel 2003 не было страницы для этого свойства)
Range.Value
Свойство для Excel 2003 (Разверните заголовок «Свойство Значение применительно к объекту Range.»
Я также погуглил «Зачем использовать Range.Formula вместо Range.Value VBA Excel» и не смог найти ничего, что касалось моего вопроса.
Некоторые люди сказал, использоватьRange.Value
.
Некоторые говорят, что используютRange.Formula
переполнение стека (извините, я потерял ссылку на точный вопрос ...)