Я попытался добавить формулу в одну из ячеек с помощью VBA, как показано ниже:
With Selection
.Merge
.Offset(0, 2).Resize(2, 4).Merge
.Offset(0, 7).Resize(2, 5).Merge
.Offset(0, 7).Formula = "=R[0]C[-5]/SUM(EB:EB)"
.Offset(0, 7).NumberFormat = "0.0%"
End With
но когда я проверяю ячейку, формула отображается как =EB16/SUM(EB:(EB))
что я сделал не так с формулой? Благодарю.


Вы не можете смешивать и смешивать адреса ячеек xlR1C1 и xlA1.
With Selection
.Merge
.Offset(0, 2).Resize(2, 4).Merge
.Offset(0, 7).Resize(2, 5).Merge
.Offset(0, 7).Formula = " = " & .offset(0, 2).address(0, 0) & "/SUM(EB:EB)"
.Offset(0, 7).NumberFormat = "0.0%"
End With
Немного сложно определить точную ссылку на ячейку, но RC [-5] должен иметь значение Offset (0, 2) при помещении в ячейку Offset (0, 7) от исходного выбора.
да, теперь он работает. не понял, что смешивание R1C1 и xlA1 недопустимо. другое решение с использованием R1C1: .Offset(0, 7).Formula = "=R[0]C[-5]/SUM(c[-5])"
вы включили фактические ссылки на столбцы с нотацией
R1C1, которая не будет работать. ИзменитеSUM(EB:EB)на любую ссылку на столбец, которая не является правильным номером. Что-то вродеSUM(10:10), где 10 - это расстояние от ячейки с формулой.