3

次の外観のワークブックがあります。

ここに画像の説明を入力

このワークブックの最初のシート「Resultat」は、ワークブックの他のシートからデータを計算し、図のように表示します。

計算が正しく機能するためには、マークされた赤い四角に示されている名前が同じで対応している必要があります。そうでない場合、エントリ番号 2 でわかるように、値は ##### になります (セル A5 が機能し、同じシート番号 2 として名前を付けますが、セル A8 はシート番号 3 と同じ名前を持っていないため機能しません)。

私の質問は基本的に、特定のセルにシートの名前を入力する関数を使用することは可能ですか. この例でcell A5は、 でシートの名前を自動的にフェッチしたり、 でシートとindex 2等しくcell A8index 3たりします。

現在、これを手動で行っていますが、これらのワークブックがたくさんあり、名前が時々変わるため、自動化できれば非常に役立ちます。

4

2 に答える 2

4

この式を使用してください

=MID(CELL("filename",A1), FIND("]", CELL("filename", A1))+ 1, 255)

上記は、現在のシートの名前を示します

A1 の参照を関連するシートに変更すると、その名前が取得されます。

元:

=MID(CELL("filename",Sheet1!A1), FIND("]", CELL("filename", Sheet1!A1))+ 1, 255)

これにより、Sheet1

于 2013-04-17T11:56:25.490 に答える
1

VBA モジュールを作成し、次のコードを入力します。

Public Function SheetNameByIndex(Index As Integer) As String
    SheetNameByIndex = ActiveWorkbook.Sheets(Index).Name
End Function

これで、ワークブックの任意の場所で、次のことができます

=sheetnamebyindex(2)
=sheetnamebyindex(A1)
于 2013-04-17T11:54:53.997 に答える