확인란을 기반으로 새 워크 시트를 만드는 코드를 디자인했으며이 이름은 사용자 정의 변수에서 파생되었습니다. 그러나 누군가가 상자를 선택 취소하고 검사하면 코드를 다시 실행하고 이름이 같은 여러 워크 시트로 인해 오류가 발생합니다. 이 코드는 정상적으로 동작하는 코드라는 것을 알고 있지만 코드가 존재하는지 확인하기 위해 IF : THEN 문을 생성하려고합니다. 시트가 있으면 코드 자체가 멈 춥니 다. 시트가 없으면 정상적으로 실행됩니다.확인란 및 중복 시트 오류
어떻게하면됩니까?
아래 코드.
Private Sub CheckBox4_Click()
Application.ScreenUpdating = False
Dim ws As Worksheet
Dim Protocol As Range
If CheckBox4.Value = True Then
ActiveWorkbook.Unprotect
Set ws = Sheets.Add(After:=Sheets(Sheets.Count))
ws.Name = Sheets("Control").Cells(16, "I")
Set Protocol = Sheets("The Hidden Works").Columns("W:AQ").EntireColumn
Protocol.Copy
ws.Paste
ws.Protect
ws.EnableSelection = xlUnlockedCells
Application.CutCopyMode = False
Worksheets("SUMMARY").Rows("44").EntireRow.Hidden = False
Worksheets("SUMMARY").Cells(44, 3).Value = "='Control'!I16"
Worksheets("SUMMARY").Cells(44, 3).NumberFormat = "General"
Worksheets("SUMMARY").Cells(44, 4).Value = "='Control'!K16"
Worksheets("SUMMARY").Cells(44, 5).Value = "='Control'!L16"
Worksheets("SUMMARY").Cells(44, 6).Value = "=" & ws.Name & "!$H$69"
Worksheets("SUMMARY").Cells(44, 7).Value = "=" & ws.Name & "!$J$69"
Worksheets("SUMMARY").Cells(44, 8).Value = "=" & ws.Name & "!$N$69"
Worksheets("SUMMARY").Cells(44, 9).Value = "=" & ws.Name & "!$P$69"
Worksheets("SUMMARY").Cells(44, 10).Value = "=SUM(F44:I44)/D44"
Worksheets("SUMMARY").Cells(44, 11).Value = "=M44/F3"
Worksheets("SUMMARY").Cells(44, 12).Value = "=" & ws.Name & "!$U$69"
Worksheets("SUMMARY").Cells(44, 13).Value = "=M44/$K$57"
Worksheets("Control").Activate
End If
Application.ScreenUpdating = True
End Sub
을 나는이 아이디어를 좋아하지만, 어떻게 내가 당신의 예를 사용할 수 있습니다 경우 종료 하위 그렇지 '코드 끝 에 만약 WorksheetExists ("Sheet10") 사용자 정의 이름을 찾으십니까? –
@TomStone, 편집을 확인하십시오. – Arul
감사! 매력처럼 작동합니다! –