2012-01-26 38 views
0

我有一張工作簿,其中包含姓名:學生(1),學生(2),學生(3)等等。確定工作表號

我正在通過vba添加一張表,將命名爲學生(4),如果有三張表已經存在。我如何識別最後一張圖片(在這種情況下是3張),所以我知道我需要命名下一張學生(4)?

在此先感謝

回答

1

下面的代碼顯示當前最大的學生數量。這是你以後的事嗎?

警告。根據我的經驗,隨着工作表數量的增加,工作簿變得非常難以使用。我用了40張紙,發現它是一場噩夢。儘管我告訴Excel在可以達到之前會超過其他限制,但它的理論極限也是255。

Option Explicit 
Sub NextSheetName() 

    Dim NameCrnt As String 
    Dim NumCrnt As Long 
    Dim NumMax As Long 
    Dim Pos As Long 
    Dim WkSht As Worksheet 

    NumMax = 0 

    For Each WkSht In Worksheets 
    NameCrnt = WkSht.Name 
    Pos = InStr(1, NameCrnt, "(") 
    If Pos = 0 Then 
     ' Code to handle non-standard name. 
    Else 
     NumCrnt = Val(Mid(NameCrnt, Pos + 1, 1)) 
     If NumMax < NumCrnt Then 
     NumMax = NumCrnt 
     End If 
    End If 
    Next 

    Debug.Print "Largest current student number=" & NumMax 

End Sub