Board logo

標題: [發問] 能否搜尋工作表的名稱 [打印本頁]

作者: emma    時間: 2010-10-6 15:55     標題: 能否搜尋工作表的名稱

如題,一個excel檔裡有n個工作表,
過多的工作表使得想從中找到特定某個名稱的工作表變得不容易,
請問有搜尋工作表名稱的方法嗎?
還有可以計算或顯示出該excel檔裡包含了幾個工作表數量嗎?

作者: PD961A    時間: 2010-10-6 17:53

回復 1# emma
可新作一張工作表
按一下超連結按鈕, 在插入超連窗框中,選擇要連接的儲存格位址,這份文件中的位置
另加小計公式

http://forum.twbts.com/viewthrea ... ight=%B6W%B3s%B5%B2
作者: et5323    時間: 2010-10-6 20:52

本帖最後由 et5323 於 2010-10-6 20:56 編輯

用宏表函數定義了名稱:sht
[attach]3027[/attach]
作者: onegirl0204    時間: 2010-10-7 11:04

回復 3# et5323


剛剛下載了您提供的資料,發現根本就不必辛苦地在目錄欄裡打上各舍資料夾的名稱再分別加入超連結功能,可否請教您提供的函數相關教學網址作為學習之用呢?感謝您!
作者: PD961A    時間: 2010-10-7 11:12

回復 3# et5323

先進
和onegirl0204一樣的想法
發現根本就不必辛苦地在目錄欄裡打上各舍資料夾的名稱再分別加入超連結功能
可以請您指導嗎?
感謝您!...
作者: oobird    時間: 2010-10-7 11:18

找工作表會難嗎?
[attach]3039[/attach]
作者: PD961A    時間: 2010-10-7 11:28

回復 6# oobird


    版主您真聰明...
    但是那個動作不能知道工作表"數量"阿??
    要怎麼計算?
    謝謝您...
作者: oobird    時間: 2010-10-7 11:52

=INFO ("numfile") 可得到已開啟的活頁簿中工作表總數。
但先決條件是只開一個活頁簿而且沒有加載其他增益集。
其實用編程msgbox sheets.count最快
作者: GBKEE    時間: 2010-10-7 15:07

回復 7# PD961A
自訂函數
Function 工作表總數() As Integer
    Application.MacroOptions "工作表總數", Description:="計算工作表總數", Category:=11
    Application.Volatile
    工作表總數 = ActiveWorkbook.Sheets.Count
End Function
作者: emma    時間: 2010-10-7 17:19

回復 6# oobird


    原來按右鍵就可以出現這個功能了QQ,沒看到您的圖還真沒想到要去試過~~~所以沒發現這麼簡單
作者: onegirl0204    時間: 2010-10-7 17:58

回復 3# et5323


剛剛將您的公式套用在我自己的檔案裡,結果發現一個很大的問題,那就是工作表名稱為中文的,全部都會呈現#NAME?耶,這下子可怎麼辦才好呀?
作者: Hsieh    時間: 2010-10-7 18:59

要看定義名稱
作者: onegirl0204    時間: 2010-10-8 17:38

回復 12# Hsieh


您好人就做到底,賜教如何定義名稱吧!感恩您!
作者: Hsieh    時間: 2010-10-8 19:15

回復 13# onegirl0204
插入/定義/名稱
[attach]3074[/attach]
作者: onegirl0204    時間: 2010-10-10 11:37

回復 14# Hsieh


真是太感謝您的大恩大德了!我的問題完全解決,以後再也不用一個一個用超連結了!
只是有個小問題想再請教一下,名稱定義中FIND後面的"J"是什麼意思呀?還有T(NOW())是什麼作用?麻煩您再賜教,謝謝!
作者: onegirl0204    時間: 2010-10-10 12:11

回復 3# et5323

請問∼
1.由於工作表數量多,若是由A&B兩欄依序排下去會很長,想改為由AB兩欄向右發展,亦即A1∼B20為工作表1∼20,C1∼D20為工作表21∼40,E1∼F20為工作表41∼60......公式不知該如何修改,請賜教∼謝謝!
2.=COUNTA(sht)&T(NOW())∼∼若省略&T(NOW(),發現我出的數字仍為3,不知&T(NOW()在此有何特殊意義?
作者: et5323    時間: 2010-10-10 12:16

本帖最後由 et5323 於 2010-10-10 12:55 編輯

1.
a. GET.WORKBOOK(1) 得到的是: [工作簿名]工作表名 这种形式的字符串数组,如:
[Book1.xls]Sheet1
[Book1.xls]Sheet2
...
b. MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,100)得到的是:工作表名 这种形式的字符串数组,如:
Sheet1
Sheet2
...;
c. 得到工作表名数组后,就要用Index函数来取出单个的元素,这个看下Index函数的帮助:
Row(A1)返回1,Index(sht,Row(A1))返回"Shtee1",Row(A2)返回2,Index(sht,Row(A2))返回"Shtee2"...
Column(A1)返回1,Index(sht,Column(A1))返回"Shtee1",Column(B1)返回2,Index(sht,Column(B1))返回"Shtee2"...
剩下的就该你写了。

2.
T(NOW())的功能近似按"F9"键重新运算一遍所有文档,解决宏表函数的"易失性".
作者: onegirl0204    時間: 2010-10-11 19:05

回復 17# et5323


感謝您詳細的解說教學及給我的家庭作業,看樣子我得努力找資料研讀,才能完成作業囉!
作者: leewinson    時間: 2013-8-25 22:51

我也想來學習看看,正好需要使用啊!
作者: totomomo    時間: 2014-11-11 09:10

用宏表函數定義了名稱:sht
et5323 發表於 2010-10-6 20:52


超好用!
感謝!
作者: playegg    時間: 2015-3-20 15:13

我也想看看附件的方法.可惜權限不夠




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)