2016-09-26 43 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为你工作? –

相关问题