Почему повторение VBA FormulaR1C1 смещает ссылку по строке? - PullRequest
1 голос
/ 28 мая 2019

Я видел это пару раз и обычно могу обойти это, но у меня есть некоторые международные пользователи, которые требуют, чтобы я выяснил что-то другое.

У меня есть строка, которая содержит несколько формул, уникальных для каждойколонка.Я хочу дублировать весь спектр данных.По сути, это то же самое, что делать формулу копирования-вставки, но я пытаюсь ускорить процесс, а затем сразу установить формулы в значения.Однако, когда я выполняю код, который устанавливает диапазон с помощью FormulaR1C1, он работает только в первой строке.

Вот очень упрощенная иллюстрация проблемы:

Range ("C1: H1") имеет формулу =$B1/8+ различное число для каждого столбца.Я хочу продублировать эту формулу по всему диапазону ("C4: H12")

Использование этого кода VBA:

Range("C4:H12").FormulaR1C1 = Range("C1:H1").FormulaR1C1

работает для первой строки (4),но в пятой строке он начинает ссылаться на СЛЕДУЮЩУЮ строку (таким образом, формула читает = $ B6 / 8 + и продолжает смещение.

Мой обычный обходной путь - набрать формулу и сохранить ее где-то конкретно, но моя проблема сМои иностранные пользователи считают, что синтаксис сложной формулы, который я использую, должен быть установлен в формуле ячейки. Да, я мог бы использовать формулу копирования-вставки, но мне просто любопытно, почему происходит это смещение.

Вы можете скачать простой файл ее e (без VBA).

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...