2014-03-05 4 views
0

셀별로 데이터를 추가 할 수있는 새 워크 시트를 만들고 싶습니다. Sheets.Add.Name을 시도했지만 작동하지 않았습니다. 현재 런타임 오류가 발생합니다. "13"어떤 도움을 주시면 감사하겠습니다.Excel VBA 새 워크 시트 만들기 시도

ws.Name = "Sheet1"이이 경우에 사용됩니다.

Dim mySheet As Worksheet  
j = -1 
i = 0 
strCounter = 0 
For Each ws In ThisWorkbook.Worksheets 
    If (InStr(ws.Name, " Logix Friendly") = 0) Then 
     ifChecker = True 
    Else 
     ifChecker = False 
    End If 
    If ifChecker Then 

    Set mySheet = Workbooks.Add 
     With mySheet 
      .Nasme = ws.Name, " Logix Friendly" 
     End With 
+2

'Workbooks.Add'이 새 통합 문서를 추가, 당신이 원하는' –

답변

1

팀 윌리엄스는 새로운 워크 시트를 추가하는 것에 대해 절대적으로 맞습니다.

로직에 결함이있는 것으로 보입니다. "Logix Friendly"라는 워크 시트가없고 통합 문서에 시트가 하나 뿐인 경우 코드가 작동합니다.

당신이 일을해야 무엇 :

For Each ws In ThisWorkbook.Worksheets 
    bWS_Found = (InStr(1, ws.Name, "Logix Friendly", vbTextCompare) = 1) 
    ' Exit checking if a worksheet already named "Logix Friendly" 
    If bWS_Found Then Exit For 
Next 
' Add worksheet if there isn't a "Logix Friendly" worksheet 
If Not bWS_Found Then 
    With ThisWorkbook.Worksheets.Add 
     .Name = "Logix Friendly" 
    End With 
End With 
+0

worksheets.add' 나는의 경우 출구로 가졌다 또 다른 문제는 그 경우 시트가 이미 있습니다. 종료하고 싶지 않습니다. 다음 워크 시트로 이동하여 다시 확인하고 싶습니다. – user3055889

+0

정확한 이름을 찾은 후에도 모든 워크 시트를 확인하고 싶습니까? 'Logix Friendly (#) '라는 ** Copy **를 고르는 것입니까? – PatricK

관련 문제