У меня есть форма для улучшения, которую я хотел бы использовать в качестве шаблона для создания будущих документов. Мне было интересно, можно ли использовать VBA, чтобы вставить командную кнопку на лист, чтобы создать копию и сохранить ее под именем авторов с добавленным номером, чтобы мы могли отслеживать улучшения, сделанные в течение года.

Например, наличие шаблона документа> нажмите кнопку> Открыть форму пользователя для ввода имени автора> и нажмите, чтобы создать новый документ, который будет сохранен в определенном месте.

1 ответ1

0

Да, это очень возможно. Я хотел бы предложить вам использовать приведенный ниже код 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

NB. Лист "IndexName" имеет имя в ячейке A2, которое используется кодом в качестве "нового имени файла" каждый раз, когда вы нажимаете кнопку "Копировать" для шаблона листа. Поэтому не забудьте обновить ячейку A2 новым именем.

Лист "NameData" используется для отслеживания новых файлов в ячейке A100 и далее.

Кроме того, этот код сохранит файлы в папке по умолчанию. Если вы хотите изменить это, вы можете.

Надеюсь, это поможет вам, я опубликовал этот код VBA после того, как он был проверен мной.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .