2016-09-26 42 views
1

我想在現有的Excel文件中添加工作表叫「主記錄」。使用下面的代碼,我可以創建工作表,但是如果工作表已經退出,它將創建具有不同名稱的工作表,例如:Sheet2,Sheet3。添加工作表在外部工作簿

我不希望創建任何其他工作表。它已經存在不僅僅是反映消息。請告訴我如何避免創建不必要的紙張。

Dim Wb As Workbook 
Dim ws As Worksheet 
Set Wb = Workbooks.Open(TextBox2.Text) 
Set ws = Wb.Sheets.Add 
    ws.Name = "Master Records" 

Wb.Save 
Wb.Close 

回答

0

您需要檢查它是否存在。

Dim exists as Boolean 
Dim Wb As Workbook 
Dim ws As Worksheet 
Set Wb = Workbooks.Open(TextBox2.Text)  


exists = False 

For i = 1 To Worksheets.Count 
    If Worksheets(i).Name = "Master Records" Then 
     exists = True 
    End If 
    If exists = True Then 'Exit loop early if it finds that the sheet exists 
     Exit For 
    End If 
Next i 

If Not exists Then 
Set ws = Wb.Sheets.Add 
    ws.Name = "Master Records" 
Else 
    MsgBox("Sheet Exists") 
End If 
+0

它仍然是增加Sheet2中。我有名爲Master Records和Sheet1的工作表。當我運行代碼時,它會顯示一條消息,表格已經存在但創建另一個表格 –

+0

對不起。我沒有時間去測試這個,現在已經更新了 - 設置ws = wb.sheets.Add需要移動。 –

+0

@ZaidShaikh爲你工作? –

相關問題