如何取出excel中的工作表名和工作薄名

2021-03-04 03:13:15 字數 1365 閱讀 5221

1、如果[kl.xls]sheet1!a3:b8在a1

工作簿名=mid(a1,find("[",a1)+1,find("]",a1)-find("[",a1)-1)

工作表名=mid(a1,find("]",a1)+1,find("!",a1)-find("]",a1)-1)

2、如果沒有可以輸入沒有可以把a1換成cell("filename")

工作薄名

=mid(cell("filename"),find("[",cell("filename"))+1,find("]",cell("filename"))-find("[",cell("filename"))-1)

工作表名

=mid(cell("filename"),find("]",cell("filename"))+1,255)

3、取出工作薄中所有工作表名

方法一:定義名稱x=get.workbook(1)就可以了

然後,在a1中以陣列公式輸入=index(x,row(1:1)),向下複製,可以得到本工作簿所有的表名。

方法二:不過定義a=get.workbook(1),通過公式=index(a,row(1:1))求出的結果包括工作簿名和工作表名。我只想要工作表名。

定義"工作表"=replace(get.workbook(1),1,find("]",get.workbook(1)),)&t(now())然後輸入=工作表即可得出首個工作表。

再定義「所有工作表」==lookup(row(indirect("1:"&columns(工作表))),match(工作表,工作表,),工作表),輸入=所有工作表可以得出所有工作表。(必須選中多個單元格以陣列形式輸入)

方法三:能取得工用表名,並自動鏈結,給我工作帶來不少方便,**如下:

sub 輸出工作表並鏈結()

dim i as integer

application.screenupdating = ftrue

with activesheet

for i = 1 to

.hyperlinks.add .range("a" & i), "", sheets(i).name & "!a1", , sheets(i).name

with sheets(i)

if .name <> "目錄" then

.activate

.hyperlinks.add .range("a1"), "", sheets(1).name & "!a1", , "返回目錄"

sheets("目錄").activate

end if

end with

next i

end with

application.screenupdating = true

end sub

如何提取多個excel工作表中相同位置的單元格資料

如何提取多個excel工作表中相同位置的單元格資料,然後列成一列?有乙個excel檔案,裡面有一百多個工作表,從sheet1到sheet100這樣,現在需要把每個sheet裡面的a3資料提取出來,組成新的一列,又把所有的d5資料組成新的一列,以此類推,不好意思,積分只有3分,無法懸賞了,請確定工作表...

Excel工作表中IF函式的另類用法

mid函式的作用是返回文字字串中從指定位置開始的特定數目的字元 該數目由使用者指定 語法mid text,start num,num chars text 是包含要提取字元的文字字串。start num 是文字中要提取的第乙個字元的位置。文字中第乙個字元的 start num 為 1,以此類推。nu...

EXCEL中如何實現兩個工作表中兩列資料的比較

有兩個工作表,a和b a中有人數7000左右 內容為姓名金額 b中有人數1000人左右 內容同a表 ab兩表中金額一致,現在我想生成新錶c,要求c表中的姓名金額是a表中扣除b表以外的姓名金額求助!用vlookup函式,在a中查詢b,查不到的那部分就是c咯,篩選一下就可以了。這樣還比較簡單。能把函式列...