Trending News
請問EXCEL SHEETS 如何判定某個SHEETS的值?
問題如下:
1.很用心的看了多篇的[奇摩知識]題庫.還是沒找到.只好求教高手了.
2.舉例如下:
[1].活頁簿內有N個工作表.希望從中間的某個工作表(含)之後開始更新相關資料.
[2].For d = m_d To Sheets.Count會寫.但m_d不會設.此m_d就是某個工作表的數目.
[3].比如說:該工作表的名稱是[我愛網友].要求出該工作表的數目[假設是8].如Sheets(8).Select.此8怎麼查出呢?
3.謝謝.給20點喔!
敬愛的[小花]老師鈞鑒:
1.好久不見.您真是步步高升啊!恭喜囉!
2.沒多久就答覆了.真是快啊!您這次寫的方法.ㄧ試就通.您說是笨方法.我還想不出來呢?但邏輯是相同的.我是用人工輸入[A1]內.這才笨呢?
3.這樣子好嗎!我們看看有沒有別的高手.有更好的方法.再來決定勝負.OK!
晚輩妙覺明敬上
真是妙啊!一個指令就解決了.
m_d=sheets("我愛網友").index
小花老師您看呢!還有比這個更簡明扼要的嗎!佩服喔!
感謝大家!這樣教學相長.大家都進步了!
還有高手要切磋嗎!
請大家評ㄧ評喔!都很厲害!
老大您好:
1.感謝您的超高智慧.謝謝.
2.您說:[您可以直接用sheet的名稱...].請問如果用sheet的名稱.語法如何描述.讓大家多學一點.謝謝!
老大您好:
1.sheets("我愛網友").select 只能宣告[我愛網友]的工作表.無法與For d = m_d To Sheets.Count去匹配.就無法執行該工作表之後的工作表的更新作業了.還是要用[索引號碼]喔!請指點.
2.謝謝指導.請上網指導大家.
老大:
1.非常清楚了.謝謝.
2.該問題再掛幾天.給有緣人學學或表示意見.
3.ㄧ個是我恩師[小花].所寫的指令非常的好.可多方面的運用.ㄧ個是簡單解決我問題的[我愛網友].都是恩師.如沒有例外.該是老大您莫屬了.ㄧ個[初學者 3 級]有如此功力.應該表彰與栽培ㄧ下.我的恩師[小花]應該會認同的.
各位網友好:
本問題既然大家都沒意見.那就將20點給老大了.[無限的點]就給我的恩師[小花]了.
謝謝大家的幫忙.再見.
2 Answers
- 272586Lv 51 decade agoFavorite Answer
您可以直接用sheet的名稱或是用索引號碼
但是如果您要看索引號號,可以用底下的方法
m_d=sheets("我愛網友").index
2008-10-21 09:01:31 補充:
原本您的寫法是
Sheets(8).Select
可以寫成
sheets("我愛網友").select
2008-10-21 10:40:39 補充:
用名稱或是用索引號碼是使用時機的不同.因為你用sheets(8),但表是第8個 sheet
但是sheet是可以移動的,如果您把位置移動了.sheets(8)的值就會改變.
如果您要用for 的話,只可以用 [索引號碼]
3.我上網補充問題.奇摩會不會發信通知您
---------------------------------------------------
會發信通知.
Source(s): 自己 - 小花Lv 51 decade ago
應該有更簡單的方式,我這是笨方式
利用陣列取得所有工作表名稱
Sub ee()
Dim x() As String
'宣告一個字串陣列,因不知道工作表有幾個因此採用動態陣列方式
n = Sheets.Count
'取得工作表數目
ReDim x(n)
'重新宣告陣列
For i = 1 To n
'以迴圈將所有工作表名稱存入陣列
x(i) = Sheets(i).Name
If x(i) = "我愛網友" Then [a1] = i
'如果第幾陣列符合條件,將值填入A1,這個A1值就是第幾個工作表
Next i
End Sub