Board logo

標題: 如何取出指定除外的其他工作表名稱呢? [打印本頁]

作者: dechiuan999    時間: 2010-10-17 10:39     標題: 如何取出指定除外的其他工作表名稱呢?

各位大大好:
       
   我不想使用if迴圈來寫,而以match函數
或是其它方式來達成下面所述的情形。        
   我想指定某些工作表並將其排除在外。
現用match方式卻有阻礙,不知要如何
修正語法才比較合適呢?
   

   設有六個工作表其名稱為
"aa","bb","cc","dd","ee","ff"

要如何將工作表名稱"bb","dd","ee"
存入ar1陣列呢?

語法如下:

Sub aa()
   
    Dim mSht As Worksheet
    Dim ar, ar1()
    Dim s%, s1%
    Dim mStr$
   
    ar = Array("aa", "cc", "ff")
    For Each mSht In Worksheets
        mStr = mSht.Name
        On Error GoTo 10
        s = Application.WorksheetFunction.Match(mStr, ar, 0)
20
        
    Next
        Exit Sub
        
10
        
            ReDim Preserve ar1(s1)
            ar1(s1) = mSht.Name
            s1 = s1 + 1
            GoTo 20
   
End Sub

感恩大大!
作者: et5323    時間: 2010-10-17 11:10

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

Sub aa()
    Dim mSht As Worksheet
    Dim ar, ar1()
    Dim s%, s1%
    Dim mStr$
   
    On Error Resume Next
    ar = Array("aa", "cc", "ff")
    For Each mSht In Worksheets
        mStr = mSht.Name
        s = Application.WorksheetFunction.Match(mStr, ar, 0)
        If Err.Number <> 0 Then
            ReDim Preserve ar1(s1)
            ar1(s1) = mSht.Name
            s1 = s1 + 1
            Err.Clear
        End If
    Next
End Sub
作者: dechiuan999    時間: 2010-10-17 11:24

謝謝大大。

這正是小弟所期待的語法。
Err.Number 也是小弟
今天才了解如此好用呢?

感恩大大!




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