
假設我在同一工作簿中有「工作表 A」和「工作表 B」。
工作表 B 有一個引用工作表「A」的儲存格,即 ='工作表 A'!Q20
我想在同一工作簿中複製工作表B 並建立“工作表C”,並且希望工作表C 中的儲存格引用(='工作表A '!Q20) 現在引用工作表B。 B '!Q20。
當我複製工作表 B 並建立工作表 C 時,儲存格引用仍然 ='Sheet A '!Q20
我已經看到了類似問題的解決方案,但在同一工作簿中複製工作表時卻沒有。
TIA
答案1
答案2
ofs
您也可以定義一個簡單的 UDF,它會傳回位置從目前工作表移動的工作表的名稱。
Function sh(ofs As Long) As String
Dim cw As Long
cw = Application.Caller.Parent.Index
sh = Worksheets(cw + ofs).Name
End Function
上一個工作表的名稱為sh(-1)
,下一個工作表的名稱為sh(1)
。現在您可以透過公式引用上一個工作表中的
儲存格:Q20
=INDIRECT("'"&sh(-1)&"'!Q20")
或者
=INDIRECT(ADDRESS(20,17,,,sh(-1)))