У меня есть листок, содержащий форматированные столбцы (B2: Y14 и A18: B24), и я пытаюсь создать столько листов, сколько есть в следующем месяце а затем скопировать данные основного листа в каждый из вновь созданных листов.Автоматическое переименование нескольких листов и копирование содержимого основных для всех вновь созданных листов
Например: за декабрь месяца мне нужно было бы создать 31 лист с именем DEC1 ... DEC31, который содержит данные с основного листа.
То, что я попытался следующий:
Sub AddSheets()
Dim j As Integer
Dim curSheet As String
Dim prevSheet As String
'Dim summarySheet As Workbook
newName = Application.InputBox("Name", "Rename Sheet", "", Type:=2)
numSheets = Application.InputBox("Range", "Number of Sheets", "", Type:=1)
prevSheet = "Main"
'Set summarySheet = Sheets("Main").UsedRange.Copy
For j = 1 To numSheets
Sheets.Add After:=Sheets(CStr(prevSheet))
curSheet = newName & " " & j
Sheets(CStr(curSheet)).Name = curSheet
Sheets("Main").UsedRange.Copy
Sheets(CStr(curSheet)).Select
Sheets(CStr(curSheet)).Paste
prevSheet = curSheet
'ActiveSheet.Paste
Next j
End Sub
@ user2130444 Помогла ли это? –
Спасибо Скотту за очень своевременный ответ. Предоставленное решение работало с одним небольшим дополнением: мне пришлось использовать newsht.Name = newName & "" & j. – user2130444
@ user2130444 opps, вы правы. Я изменю. Пожалуйста, обратите внимание на правильность маркировки. большой зеленый галочкой стрелкой вниз. –