Доброго времени суток. Давно не занимался VBA и многое уже забыл, нужна помощь.
Есть два листа в книге, первый выполняет роль шаблона, второй имеет таблицу данных (столбцы А и В)
Нужно сделать несколько действий в одном макросе:
1) Сделать 10 копий листа шаблон.
2) Присвоить каждому листу имя из диапазона А1:А10 с листа Данные.
3) В каждом новом листе изменить (частично) ячейку А26, то есть добавить содержимое из столбца В1:В10
Суть в чем.
1) Сделать макрос на копирование 10 листов я сделал.
Код |
---|
Sub Copy_10Sheets()
x = InputBox("1")
For numtimes = 1 To x
Application.DisplayAlerts = False
Sheets("Шаблон").Copy After:=Sheets(2)
Next
End Sub |
2) Сделать копию листа с именем, смог додуматься только до этого, и то благодаря макрорекодеру
Код |
---|
Sub Макрос2()
Dim shNewSheet As Excel.Worksheet
Set shNewSheet = Worksheets.Add(After:=Worksheets(Worksheets.Count))
shNewSheet.Name = Worksheets(1).Range("A7").Text
End Sub |
То есть задать в первом макросе имя для нового листа я не смог, а лишь создал новый лист с именем из столбца
3) Изменить частично ячейку
Код |
---|
Sub macro_copy_cell()
Sheets("Данные").Select
Range("B7").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "200"
Sheets("Шаблон").Select
Range("A26").Select
ActiveCell.FormulaR1C1 = "200 SMS"
End Sub |
Но проблема в том, в макрорекодере я уже указал что копирую, то есть конкретно "200" а не содержимое ячейки.
Товарищи, понимаю что мои вопросы могут показаться крайне глупыми, но на ночь глядя, ничего умнее придумать я тут не могу. Помогите пожалуйста.