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.