VBA для копирования смещения формул, на которые ссылаются ячейки - PullRequest
0 голосов
/ 22 февраля 2019

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

Например, вна этом листе я хочу:

  • вручную выбрать H4: H7 (формулы Яна)
  • запустить макрос
  • вручную переместиться в два столбца вправо в ячейку J4и используйте стандартную вставку Excel (ctrl_v) для вывода желаемого результата в формулах (формулах февраля) в J4: J7.

здесь текущий лист: Regular view

и вот представление листа с Ctrl ~, чтобы увидеть формулы: Formula view

В представлении формулы показан требуемый вывод в столбце J с февралемформулы.Так как формулы февраля всегда ссылаются на ячейки, которые находятся всего на один столбец от исходных ячеек, на которые ссылается Ян, если столбец февраля в формулах был на один столбец от января (т. Е. Если бы февраль был в столбце I), все, что мне нужно было бы сделать, это скопироватьформулы из столбца H и вставьте их в столбец I. Однако здесь, поскольку структура листа требует вставки формул в столбец J, мне нужен макрос, который будет копировать ячейки справа от всех ячеек в столбце H, которыессылаться на значения января и сделать простую вставку в столбец J, который выдаст желаемые результаты.

это код, который я сейчас пытаюсь, и он копирует только сами формулы, но не смещение на одну ячейку.

Public Sub copy()


Dim source As Range
Dim target As Range

Set source = Range("H4:H7")
Set target = Range("J4:J7")

For i = 1 To source.Rows.Count
 target.Cells(i, 1).Formula = source.Cells(i, 1).Formula
Next i

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