У меня есть 7 листов в файле Excel, которые мне нужно скопировать сразу.Я создал кнопку, чтобы сделать это с кодом, показанным ниже.Тем не менее, я также хочу иметь возможность очистить некоторые ячейки при копировании листов.Я пытался изменить второй набор кода из другой книги, которая копировала одну страницу за раз и очищала ячейки, но, похоже, я не могу заставить ее работать.Код не должен искать самую последнюю неделю, как показано в приведенном ниже коде, мне просто нужно скопировать мои 7 листов и очистить ячейки G18: G37 на листах со 2 по 7. Спасибо
'Что яесть прямо сейчас. '
Private Sub CommandButton1_Click()
Worksheets(Array("Coding Details", "Schedule A", "Schedule B", "Schedule C", "Schedule D", "Schedule E", "Schedule F")).Copy After:=Worksheets(Worksheets.Count)
End Sub
' То, что я использую в другой моей книге '
Private Sub CommandButton1_Click()
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("B40:J45,C18:I21,E26:F31").ClearContents
.Cells.Replace What:="'Week " & lCurNum - 1 & "'!", _
Replacement:="'Week " & lCurNum & "'!", _
LookAt:=xlPart
End With
End Sub