VBA复制单元格引用公式的偏移量

时间:2019-02-22 16:25:36

标签: excel vba reference

我要复制一个单元格区域,每个单元格都有一个引用另一个单元格的公式,然后使用自定义相对引用而不是自动excel引用将这些公式粘贴到另一个范围中。

例如,在此工作表中,我要:

  • 手动选择H4:H7(Jan公式)
  • 运行宏
  • 手动将右移到J4单元格的右两列,并使用标准excel粘贴(ctrl_v)在J4:J7的公式(二月公式)中输出所需的输出。

这是当前工作表: Regular view

,这是带有ctrl〜的工作表视图,以查看公式: Formula view

公式视图在带有2月公式的J列中显示所需的输出。 由于Feb公式始终引用的单元格仅比原始Jan引用的单元格高一列,因此,如果公式中的Feb列比Jan的单元格高一列(即,如果Feb在I列中),那么我要做的就是复制H列中的公式并将其粘贴到I列中。但是,由于工作表的结构要求将公式粘贴到JI列中,因此需要一个宏,该宏会将单元格复制到H列中所有单元格的右侧引用Jan值,并简单地粘贴到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

0 个答案:

没有答案