シートとセル参照のコピー

シートとセル参照のコピー

同じワークブック内に「シート A」と「シート B」があるとします。

シート B にはシート "A" を参照するセルがあります (つまり ='シート A ')。Q20

シート B をコピーして同じブックに「シート C」を作成し、シート C のセル参照 (='シート A '!Q20) がシート B を参照するようにします。つまり、='シート B '!Q20 です。

シート B をコピーしてシート C を作成すると、セル参照は ='シート A ' のままです。Q20

同様の問題に対する解決策を見たことがありますが、同じワークブック内でシートをコピーする場合は見つかりませんでした。

ティア

答え1

この式を試してみてくださいシートB:

=INDIRECT("'Sheet "&CHAR(CODE(RIGHT(CELL("filename"),1))-1)&"'!A1")

ここに画像の説明を入力してください

答え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)))

関連情報