Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2015, 16:19   #1
mamay555
Новичок
Джуниор
 
Регистрация: 03.09.2015
Сообщений: 1
По умолчанию Формула вида R1C1 с динамическим числом слагаемых

Здравствуйте!

Подскажите, пожалуйста, как решить приведенную ниже задачу.

В столбце с данными прописать формулу вида:

Range("AA2:AA200").FormulaR1C1 = "=RC [-1]-RC[-12]-RC[-24]-RC[-36]-RC[-48]"

При этом есть переменная g, в которой лежит число типа integer.

Надо изменить формулу так, чтобы число слагаемых с шагом 12, т.е. "RC[-12]-RC[-24]-RC[-36]" равнялось g.

Помогите, пожалуйста, уже всю голову себе сломал!

Нашел одно из возможных решений:

perem = "RC[-1]"

For i = 1 To 5
perem = perem & " - RC[-" & i * 12 & "]"
Next i

Range(Cells(botrow(4) + 1, colmn), Cells(botrow(1), colmn)).FormulaR1C1 = "=" & perem & ""

Надеюсь, что существует, что-то более изящное)

Последний раз редактировалось mamay555; 03.09.2015 в 16:36.
mamay555 вне форума Ответить с цитированием
Старый 03.09.2015, 20:28   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Да нормальное решение! Если хочется извратиться, то
Код:
...FormulaR1C1 = "=RC[-1]-RC[" & Join(Evaluate("TRANSPOSE(ROW(1:" & g & ")*-12)"), "]-RC[") & "]"
Стиль ссылок приложения должен быть А1.
Для любого стиля ссылок
Код:
...FormulaR1C1 = "=RC[-1]-RC[" & Join(Evaluate(Application.ConvertFormula("TRANSPOSE(ROW(1:" & g & ")*-12)", xlA1, Application.ReferenceStyle)), "]-RC[") & "]"
'или
...FormulaR1C1 = "=RC[-1]-RC[" & Join(Evaluate("TRANSPOSE(ROW(" & IIf(Application.ReferenceStyle = xlA1, "1:", "R1:R") & g & ")*-12)"), "]-RC[") & "]"
exceleved@yandex.ru Яндекс.Деньги: 410011500007619

Последний раз редактировалось Казанский; 04.09.2015 в 10:15.
Казанский вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подбор слагаемых. Ammat Microsoft Office Excel 18 19.10.2014 16:06
Сумма N слагаемых (Delphi) Начинающий програм Помощь студентам 10 28.09.2012 16:06
"Вычисление суммы с неопределённым числом слагаемых с заданной точностью". Андрей) Помощь студентам 4 16.05.2011 18:16
Delphi7. Сумма n слагаемых заданного вида, основные операторы цикла. arctica Помощь студентам 0 12.12.2010 21:13
как присвоить значение ячейки R1C1 из 1.xls, допустим какой-нибудь любой ячейке из 2.xls ? diabloskrk Microsoft Office Excel 3 08.10.2007 12:27