星期二, 12月 05, 2006

取得Excel工作表的名稱

我自己拿Excel做很多跟試算表沒關係的事情,因此常常會遇到一些奇怪的需求。日前我就碰到需要取得工作表名稱的狀況,靠著Google,找到了答案,只要以下這行就可以了:
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,256)
其中的奧秘就是這樣:
CELL("filename",A1)
會傳回A1指定的儲存格所在工作表的完整路徑,像是這樣:
D:\temp\[test.xls]Sheet1
其中 "test.xls" 是檔名,"Sheet1" 是工作表名稱,所以利用FIND()找出"]" 在完整檔名的位置,也就是:
FIND("]",CELL("filename",A1))
再利用MID()從這個位置的下個位置開始,取出到字串尾端的所有字元,就是工作表的名稱了。

1 則留言:

  1. 謝謝 很實用
    搭配插入定義名稱
    可以做出自動的HYPERLINK搭配

    回覆刪除