У меня есть форма улучшения, которую я хотел бы использовать в качестве шаблона для создания будущих документов. Мне было интересно, можно ли использовать VBA для вставки кнопки команды на рабочий лист, чтобы создать копию и сохранить ее под именем автора с добавленным номером, чтобы мы могли отслеживать улучшения, сделанные в течение года.
Например, если у вас есть шаблон документа > нажмите кнопку > Откройте форму пользователя, чтобы ввести имя автора > и нажмите, чтобы создать новый документ, который будет сохранен в определенном месте.
решение1
ДА, это вполне возможно. Я хотел бы предложить вам использовать нижеприведенный код VBA, который поможет вам сохранить шаблон рабочей книги под новым именем.
Sub CreateNewBook()
Dim wbk As Workbook
Dim sht1,sht2 As Worksheet
Dim lng As Long, rng As Range
Set sht1 = Sheets("IndexName")
Set sht2 = Sheets("NameData")
lng = sht1.Cells(Rows.Count, "A").End(xlUp).Row
Set rng = sht1.Range("A2:A" & lng)
For Each c In rng
Sheets("Template").Copy
Set wbk = ActiveWorkbook
wbk.Sheets(1).Range("A100") = c.Value
sht2.Copy After:=wbk.Sheets(1)
wbk.SaveAs c.Value & ".xlsx"
wbk.Close False
Next
End Sub
Примечание:Лист «IndexName» имеет имя в ячейке A2, которое код использует как «Новое имя файла» каждый раз, когда вы нажимаете кнопку «Копировать шаблон листа».Поэтому не забудьте обновить ячейку A2, указав новое имя.
Лист «NameData» используется для ведения учета новых файлов в ячейке A100 и далее.
Также этот код сохранит файлы в месте по умолчанию. Если вы хотите изменить его, вы можете.
Надеюсь, это вам поможет. Я опубликовал этот код VBA после того, как он был мной протестирован.