宏表函数选

宏表函数选
宏表函数选

GET.WORKBOOK

语法GET.WORKBOOK(type_num, name_text)

Type_num 指明要得到的工作簿信息类型的数。

Name_text 是打开的工作簿的名字。如果name_text被省略,默认为活动工作簿。

get.workbook(1)

以水平数组返回工作簿所有工作表名

例:

#NAME?#NAME?#NAME?#NAME?

#NAME?

(由于工作表太多,未尽列其中。可在编辑栏按F9查看该数组。如果要改为纵向排列,可

以水平数组返回选定的工作表名称

注:活动工作表,如果选择包括活动工作表的多表组成工作组,则列出工作组的所有表名例:

#NAME?

与GET.WORKBOOK(38)的区别:

1,get.workbook(38)仅返回工作表名,不含工作簿名2,get.workbook(38)仅返回活动工作表名,与工作组无关

综合以上内容,我们总结一下取得工作簿、工作表名的几个函数:(一)工作薄名

可见,要取得“纯粹”的当前工作簿名,以使用GET.DOCUMENT(88)为宜而要想取得全路径的活动文件名,则应使用CELL("FILENAME")函数

#NAME?

(二) 工作表名

#NAME?

可见,要想取得活动工作表名,以GET.WORKBOOK(38)最为方便

而如果想取得当前工作簿的全部工作表名,则应使用GET.WORKBOOK(1)#NAME?

* 注:如果省略第二参数,则为活动工作簿;否则为该参数指定的工作簿 参数形式:[ABC.XLS]SHEET1!A1, ** 注:如果省略第二参数,则为当前工作簿;否则为该参数指定的工作簿 参数形式:"ABC.XLS"

应用示例:

1,工作表名排序:gvntw

https://www.360docs.net/doc/0016407190.html,/dispbbs.asp?boardid=3&replyid=89911&id=22922&page=1&skin=0&Star=5

定义名称: shs=REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1)),)&T(NOW())

单元格公式

=INDEX(shs,MATCH(ROW(1:1),MMULT(N(shs<=TRANSPOSE(shs)),ROW(INDIRECT("1:"&COUNTA(shs

公式下拖,就可得到按升序排列的工作表名。注:其中的COUNTA(shs)也可用GET.WORKBOOK(

如要降序排列,把公式中的"<="改为">="就OK了。

2, 跨多表查询 gvntw

https://www.360docs.net/doc/0016407190.html,/dispbbs.asp?boardid=3&replyid=279526&id=147958&page

#NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME?

#NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME? #NAME?

#NAME?

#NAME?#NAME?#NAME?

该数组。如果要改为纵向排列,可外套TRANSPOSE()函数。见N列)成工作组,则列出工作组的所有表名

,与工作组无关

#NAME?

参数形式:[ABC.XLS]SHEET1!A1,如为本工作簿,可简写为A1参数形式:"ABC.XLS"

id=22922&page=1&skin=0&Star=5

KBOOK(1)),)&T(NOW())

ECT("1:"&COUNTA(shs)))^0),))

OUNTA(shs)也可用GET.WORKBOOK(4)得出

&replyid=279526&id=147958&page=1&skin=0&Star=2

相关文档
最新文档