如果想要在Excel的工作表中顯示某個工作表的名稱,該如何做呢?

例如在Sheet1工作表的儲存格A1中輸入公式:

=MID(CELL("filename",Sheet2!A1),FIND("]",CELL("filename",Sheet2!A1))+1,256)

結果會得到Sheet2,如果工作表的名稱有所更改,其結果也會跟著變動。

其中CELL()函數會傳回有關儲存格之格式、位置或內容的資訊

語法:CELL(info_type, [reference])

info_type如下:

info_type 傳回
"address" 以文字形式表示 reference 中第一個儲存格的位址。
"col" Reference 中儲存格的欄名。
"color" 如果儲存格設定為會因負數而改變色彩的格式,則傳回 1;否則傳回 0 (零)。
"contents" 參照左上角儲存格的數值;不是公式。
"filename" 以文字形式傳回 reference 所屬文件的檔案名稱 (包含完整的路徑名稱)。如果該文件尚未存檔,則傳回空字串 ("")。
"format" 對應於數值儲存格格式的文字表示形式。各種格式的文字表示列示於以下的表格中。如果儲存格為會因負數而改變色彩,則傳回的文字值的後面會帶有負號 (-)。如果儲存格被設定為將正數或任何數值放在一組括弧中的格式時,則在傳回的文字值的後面加一組 "()"。
"parentheses" 如果儲存格格式設定為將正數或所有數值放在一組括弧中,傳回 1;否則傳回 0。
"prefix" 文字儲存格的「標籤首碼」的文字表示形式。如果該儲存格含有靠左對齊的文字時,傳回單引號 (');如果該儲存格中含有靠右對齊的文字時,傳回雙引號 (");如果該儲存格中含有置中對齊的文字時,傳回脫字符號 (^);如果該儲存格中含有填滿對齊的文字時,傳回反斜線 (\);如果該儲存格含有其他的資料,則傳回空字串 ("")。
"protect" 如果儲存格並未鎖定保護,傳回 0;如果儲存格已鎖定保護,則傳回 1。
"row" 參照位址中儲存格的列號。
"type" 儲存格中資料類型的一個對應文字值。如果該儲存格是空白的,傳回「b」(代表 blank),如果該儲存格含有文字常數,則傳回標籤「l」(代表 label);如果該儲存格中含有其他類別的資料,則傳回「v」(代表 value)。
"width" 儲存格欄寬四捨五入成整數值。每個欄寬單位都等於預設字型大小的一個字元寬度。

 

其中公式:

CELL("filename",Sheet2!A1)會傳回檔案的完整路徑,你必須先該檔案存檔。

得到結果例如:C:\Users\Administrator\Documents\[Book.xlsx]Sheet2

FIND("]",CELL("filename",Sheet2!A1))+1

找出"]”在第幾個位置,+1的目的是指定下一個位置

MID(CELL("filename",Sheet2!A1),FIND("]",CELL("filename",Sheet2!A1))+1,256)

指在"]”的下一個位置取256個字,由於一個儲存格最多只能放256個字元,所以保證可以取得工作表的完整名稱。

arrow
arrow
    全站熱搜

    vincent 發表在 痞客邦 留言(3) 人氣()