이 코드는 변화 년 고려하지 않기 때문에 통합 문서에서 이미 52주 그것을 실행하는 경우는 행복하게 주 53, 54 만들고 그렇게됩니다
지금까지 난 그냥이 에.
현재 주를 선택하지 않아도 코드에서 Week xx
이라는 시트를 기준으로 가장 높은 주 번호를 검색합니다.
D2 : G2 및 H5 : K8 범위를 삭제합니다. 'Week xx'!
에 대한 시트의 모든 참조는 키보드에서 Ctrl+H
을 누르는 것과 같은 방법으로 지난 주로 업데이트됩니다.
Sub CreateNewSheet()
Dim wrkSht As Worksheet
Dim lWkNum As Long
Dim lCurNum As Long
Dim sht_LastWeek As Worksheet
Dim sht_NewWeek As Worksheet
'Find previous week and set reference to it.
For Each wrkSht In ThisWorkbook.Worksheets
If IsNumeric(Replace(wrkSht.Name, "Week ", "")) Then
lCurNum = CLng(Replace(wrkSht.Name, "Week ", ""))
If lCurNum > lWkNum Then lWkNum = lCurNum
End If
Next wrkSht
Set sht_LastWeek = ThisWorkbook.Worksheets("Week " & lWkNum)
'Create new sheet, set reference to it and rename.
sht_LastWeek.Copy After:=Sheets(sht_LastWeek.Index)
Set sht_NewWeek = Sheets(sht_LastWeek.Index + 1)
sht_NewWeek.Name = "Week " & lCurNum + 1
'Clear the cells and relink formula to previous sheet.
With sht_NewWeek
.Range("D2:G2,H5:K8").ClearContents
.Cells.Replace What:="'Week " & lCurNum - 1 & "'!", _
Replacement:="'Week " & lCurNum & "'!", _
LookAt:=xlPart
End With
End Sub
지울 내용의 범위는 무엇입니까? –