2016-01-15 22 views
0

我在檢查最後一張工作表的名稱,看它是否等於"Field_10"。如果是這樣,我不希望它做任何事情,但如果沒有,我想添加新的工作表。檢查最後一張工作表的名稱

預期輸出時,只有一個名爲「工作表Sheet1」表: 輸出「添加新表」,並增加了10個名爲Field_1一路攀升到Field_10新表。

已添加圖紙(Field_1,...,Field_10)時的預期輸出: 輸出「新圖紙已添加」並退出if語句。

我已包含MsgBox es幫助調試。問題是,無論我檢查最後一張紙張名稱是否等於「Field_10」或不等於「Field_10」,它總是輸出「已添加的新紙張」。

If ThisWorkbook.Worksheets(Worksheet.Count).Name = "Field_10" Then 
    'If ThisWorkbook.Worksheets(Worksheet.Count).Name <> "Field_10" Then 
     MsgBox ("New sheets already added") 
    Else 
     MsgBox ("Adding new sheets") 
     On Error Resume Next 
     For h = 1 To 10 
      Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Field_" & CStr(h) 
     Next h 
    End If 

任何幫助,將不勝感激。

+0

錯字在第一線? 'Worksheet.Count'應該是'Worksheets.Count' –

+0

@chrisneilsen多麼荒謬的錯誤。現在修復,謝謝! – KayBay

回答

0

使用下面子:

Sub AddSheets() 
    Dim NewSheetNo As Integer 

     If ThisWorkbook.Worksheets(Worksheets.Count).Name = "Field_10" Then 
      MsgBox ("New sheets already added") 
     Else 
      MsgBox ("New sheets are being aded...") 
      On Error Resume Next 
      For NewSheetNo = 1 To 10 
       Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Field_" & NewSheetNo 
      Next 
     End If 
    End Sub 
相關問題