Code Tips‎ > ‎

Excelのファイル名(ブック名)をセルに表示

以下の数式で自分自身のファイル名(ブック名)を取得することができます。
=MID(
	CELL("filename", A1),
	FIND("[", CELL("filename", A1)) + 1,
	FIND("]", CELL("filename", A1)) - FIND("[", CELL("filename", A1)) - 1
)

※CELL関数の第二引数はA1としていますが、どのセルを指していてもかまいません。



ただ、これだと「CELL("filename", A1)」が4度も出てきて見づらいので

まず、A1セルに
=CELL("filename", A1)

と書き値を取得してから
=MID(
	A1,
	FIND("[", A1) + 1,
	FIND("]", A1) - FIND("[", A1) - 1
)

とするとシンプルになり、いい思います。

ただし、CELL関数を使用すると毎回再計算を行なうので、開くたびに変更をしていなくても「変更を保存しますか?」と尋ねるダイアログが表示されます。

これをどうしても防ぎたいときにはVBAで
Private Sub Workbook_Open()
	Saved = True
End Sub

と書いておくと、ブックを開いた際に保存が行われるので閉じる際には尋ねられなくなります。