Excel Macro R1C1 формула не сохраняет значения - PullRequest
0 голосов
/ 08 марта 2019

У меня есть макрос Excel, который создает новый лист Excel и заполняет его переменным числом строк.У меня есть количество строк, хранящихся в переменной.Я использую формулу R1C1, чтобы умножить две ячейки вместе на основе моего количества строк.В макросе формула выглядит так, как будто она правильная (если я добавлю точку останова и добавлю часы), но когда макрос завершит формулу, ячейка будет неправильной.

VB Код для генерации формулы:

MainSheet.Cells(RowCount + 6, 6).FormulaR1C1 = "=R[" & RowCount + 3 & "]C" & "*" & "R[" & RowCount + 4 & "]C"

Просмотр формулы с точкой останова показывает это: "= R [430] C * R [431] C" Фактические данные ячейки послеконец макроса: = F863 * F864.Мне нужно, чтобы это было = F430 * F431

1 Ответ

1 голос
/ 08 марта 2019

Используя [], вы сообщаете vba, что вы хотите относительное позиционирование. Это означает, что это добавит (или вычтет) число в [] к текущей строке и / или столбцу, в который помещается формула.

Удалить количество строк:

MainSheet.Cells(RowCount + 6, 6).FormulaR1C1 = "=R[3]C*R[4]C"
...