取得工作表名称 这是个宏表函数取得工作表名称的“定义名称” 方法:插入〉名称〉定义shtname,引用位置输入公式〉确定 在某单元格输入=shtname,则返回该工作表名称。
1、首先,get.document(1)是宏表4.0函数(可以搜论坛下载一个帮助说明): 如果工作簿中不只一张表,用文字形式以“[book1]sheet1”的格式返回工作表的文件名。否则,只返回工作簿的文件名。工作簿文件名不包括驱动器,目录或窗口编号。通常最好使用 GET. DOCUMENT(76) 和 GET. DOCUMENT(88) 来返回活动工作表和活动工作簿的文件名。?get.document(88)以“book1”的形式返回活动工作簿的文件名。 2、=SUBSTITUTE(GET.DOCUMENT(1),"["&GET.DOCUMENT(88)&"]",)——就是将[book1.xls]sheet1中的[]号及book1替换为空 得到sheet1 3、now()是一个易失性函数,随着Excel的一些动作比如编辑单元格等变化,产生当前时间(数值的一种),T()函数对文本返回文本自身,对数值返回空。所以&T(now())相当于&"",只不过这个""会随时变化。 这样连起来就使得我们用shtname得到的工作表名称是一个可以随着Excel动作(如改变工作表名也是动作)而“实时”变化的工作表名 常用的几个取当前工作表名的公式:(基本都是用宏表函数,套上文本处理) =SUBSTITUTE(GET.DOCUMENT(76),"["&GET.DOCUMENT(88)&"]",)&T(NOW())
=REPLACE(GET.DOCUMENT(76),1,FIND("]",GET.DOCUMENT(76)),)&T(NOW()) =MID(GET.DOCUMENT(76),FIND("]",GET.DOCUMENT(76))+1,255)&T(NOW()) 不用宏表函数取得工作表名称 在单元格中输入: =MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)——可得到工作表名,其原理同上,主要是利用CELL函数用"filename"作第1参数取得带路径的工作表名。 在定义名称中使用(强烈推荐): shtname=MID(CELL("filename",!A1),FIND("]",CELL("filename",!A1))+1,255)——这是个工作簿级的定义名称,可以得到工作簿中公式所在工作表的名称。 注意:CELL函数要求Excel文件已保存。
[此贴子已经被作者于2007-4-17 9:44:47编辑过] |