2016-09-26 2 views
1

기존 엑셀 파일에 워크 시트 호출 "마스터 레코드"를 추가하고 싶습니다. 아래 코드를 사용하면 워크 시트를 만들 수 있지만 워크 시트가 이미 끝나면 다른 이름 인 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

여전히 시트 2를 추가하고 있습니다. 마스터 레코드와 Sheet1이라는 시트가 있습니다. 코드를 실행하면 시트가 이미 존재하지만 다른 시트를 만들 때 메시지가 표시됩니다 –

+0

죄송합니다. 나는 이것을 일찍 시험 할 시간이 없었고 지금 그것을 갱신했다. - ws = wb.sheets.Add를 옮길 필요가 있었다. –

+0

@ ZaidShaikh 그게 효과가 있었나요? –

관련 문제