我希望能够让第二个选项卡中的单元格与前一个选项卡中的内容相同,然后创建一个新选项卡,复制并粘贴并将电子表格公式更新到前一个选项卡,而不是引用第一个选项卡。
即,第 2 个选项卡中先前工作的公式等于第 1 个选项卡中完成的值。
当我复制并粘贴到新选项卡 (3) 以制作下一个进度表时,工作表公式引用仍针对选项卡 1,而不是更新到选项卡 2。有办法解决这个问题吗?
答案1
Excel 只能绝对引用工作表。与单元格引用不同,单元格引用可以是相对的,并且在复制时会发生变化,而工作表引用始终是绝对的。
过去曾多次要求将相对工作表引用作为 Excel 的新功能,但迄今为止尚未实现。
答案2
如果您愿意使用一点 VBA,相对工作表引用相当容易。创建以下 VBA 函数:
Function SHEET_OFFSET(Offset, Ref)
' Returns cell contents at Ref, in sheet Offset
Application.Volatile
With Application.Caller.Parent
SHEET_OFFSET = .Parent.Sheets(.Index + Offset) _
.Range(Ref.Address).Value
End With
End Function
看如何在 MS Office 中添加 VBA? 有关使用 VBA 的一般信息。
然后,如果你想要一个单元格来Sheet2
访问Sheet1!Q42
,但是,当你复制从Sheet2
到Sheet3
,您希望相应的单元格访问Sheet2!Q42
,使用公式
SHEET_OFFSET(-1, Q42)
第一个参数是相对于当前工作表的工作表编号,第二个参数是单元格引用。当您将此公式复制到时,它将自动引用。Sheet(n)
Sheet(n-1)