É possível usar o Excel VBA para inserir um botão para criar e salvar um modelo duplicado com um nome de arquivo numérico.

É possível usar o Excel VBA para inserir um botão para criar e salvar um modelo duplicado com um nome de arquivo numérico.

Tenho um formulário de melhoria que gostaria de usar como modelo para a criação de documentos futuros. Fiquei me perguntando se era possível usar o VBA para inserir um botão de comando na planilha para criar uma cópia e salvá-la com o nome do autor com um número adicionado para que possamos acompanhar as melhorias feitas ao longo do ano.

Como ter um modelo de documento > clicar no botão > Abrir formulário de usuário para inserir o nome do autor > e clicar para criar um novo documento que é salvo em um local específico.

Responder1

SIM, é muito possível. Eu gostaria de sugerir que você use o código VBA escrito abaixo, irá ajudá-lo a salvar a pasta de trabalho do modelo com novo nome.

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

Observação:A planilha "IndexName" possui um nome na célula A2, que é usada pelo código como "Novo nome de arquivo" toda vez que você clica no botão para copiar a planilha do modelo.Portanto, não se esqueça de atualizar a Célula A2 com Novo Nome.

A planilha "NameData" é usada para manter o registro de novos arquivos na célula A100 em diante.

Além disso, este código salvará os arquivos no local padrão. Se você quiser mudar isso, você pode.

Espero que isso ajude você, postei este código VBA depois que ele foi testado por mim.

informação relacionada