請問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點喔!

Update:

敬愛的[小花]老師鈞鑒:

1.好久不見.您真是步步高升啊!恭喜囉!

2.沒多久就答覆了.真是快啊!您這次寫的方法.ㄧ試就通.您說是笨方法.我還想不出來呢?但邏輯是相同的.我是用人工輸入[A1]內.這才笨呢?

3.這樣子好嗎!我們看看有沒有別的高手.有更好的方法.再來決定勝負.OK!

晚輩妙覺明敬上

Update 2:

真是妙啊!一個指令就解決了.

m_d=sheets("我愛網友").index

小花老師您看呢!還有比這個更簡明扼要的嗎!佩服喔!

感謝大家!這樣教學相長.大家都進步了!

還有高手要切磋嗎!

請大家評ㄧ評喔!都很厲害!

Update 3:

老大您好:

1.感謝您的超高智慧.謝謝.

2.您說:[您可以直接用sheet的名稱...].請問如果用sheet的名稱.語法如何描述.讓大家多學一點.謝謝!

Update 4:

老大您好:

1.sheets("我愛網友").select 只能宣告[我愛網友]的工作表.無法與For d = m_d To Sheets.Count去匹配.就無法執行該工作表之後的工作表的更新作業了.還是要用[索引號碼]喔!請指點.

2.謝謝指導.請上網指導大家.

Update 5:

老大:

1.非常清楚了.謝謝.

2.該問題再掛幾天.給有緣人學學或表示意見.

3.ㄧ個是我恩師[小花].所寫的指令非常的好.可多方面的運用.ㄧ個是簡單解決我問題的[我愛網友].都是恩師.如沒有例外.該是老大您莫屬了.ㄧ個[初學者 3 級]有如此功力.應該表彰與栽培ㄧ下.我的恩師[小花]應該會認同的.

Update 6:

各位網友好:

本問題既然大家都沒意見.那就將20點給老大了.[無限的點]就給我的恩師[小花]了.

謝謝大家的幫忙.再見.

2 Answers

Rating
  • 272586
    Lv 5
    1 decade ago
    Favorite 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 5
    1 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

Still have questions? Get your answers by asking now.