Página 1 de 1

Criar vários Arquivos a partir de um Template

Enviado: 22 Mar 2021 às 09:16
por BrunoLSantos
Olá pessoal!

É meu primeiro post no site, espero estar fazendo da maneira correta! :)
Seguinte, estou quebrando a cabeça para automatizar um processo bem "robótico" em minha empresa.

Basicamente trata-se da criação de vários arquivos Excel a partir de um template, em resumo, tenho um arquivo de referência com uma sequência de informações que são "fixas", tendo como variáveis apenas alguns campos, como por exemplo: Nota Fiscal, Hostname do Equipamento, entre outros...

No momento o que estou precisando é criar um lote de 100 arquivos, contendo alteração em apenas 2 campos em cada arquivo (um número sequencial).
Já pensei em usar alguns script via Python, alguma solução via RPA (PowerAutomate), enfim, acho que estou tentando resolver algo simples de maneira complexa.

Obs: preciso criar Arquivos, não planilhas dentro do mesmo arquivo.

Alguém tem alguma sugestão para automatizar esse processo?

Re: Criar vários Arquivos a partir de um Template

Enviado: 22 Mar 2021 às 10:58
por osvaldomp
#
Uma opção é instalar uma macro no arquivo Template para gerar os 100 arquivos.

Se houver interesse na elaboração da macro então informe quais as duas células a serem alteradas em cada arquivo e informe também os nomes dos 100 arquivos.

Re: Criar vários Arquivos a partir de um Template

Enviado: 22 Mar 2021 às 14:37
por BrunoLSantos
Olá, boa tarde!
Obrigado pela resposta, bom vou mandar as infos então:
Inserir nessas células o sequencial de X1 à X100
J-4
G-26
Nomes: X1 à X100

Exemplo:

*Arquivo 1
J-4 = X1
G-26 = X1
Nome = X1

*Arquivo 2
J-4 = X2
G-26 = X2
Nome = X2

E assim por diante...

Agradeço desde já.

Re: Criar vários Arquivos a partir de um Template

Enviado: 22 Mar 2021 às 19:37
por osvaldomp
Instale uma cópia do código abaixo em um módulo comum do arquivo Template, assim:
1. copie o código daqui
2. a partir da planilha em que estão os dados tecle 'Alt+F11' para acessar o editor de VBA
3. no menu do editor / Inserir / Módulo
4. cole o código na janela em branco que vai se abrir
5. feito! 'Alt+Q' para retornar para a planilha e testar

para rodar o código:
6. tecle 'Alt+F8' / selecione a macro Gera100ArquivosXLSX / Executar, ou insira um botão na planilha e vincule-o à macro ou vincule-a a um atalho de teclado (Alt+F8 / Opções).
Essas três opções para rodar o código podem ser implantadas isoladamente ou em conjunto.
Código: Selecionar todos
Sub Gera100ArquivosXLXS()
 Dim i As Long
  Application.ScreenUpdating = False
  For i = 1 To 3
   ActiveSheet.Copy
   Range("G26,J4") = "X" & Format(i, "000")
   ActiveWorkbook.SaveAs "X" & Format(i, "000") & ".xlsx"
   ActiveWorkbook.Close True
  Next i
End Sub
#
obs.
1. para efeitos dos seus testes o código irá gerar somente 3 arquivos, então após os testes, se o resultado for o desejado, para gerar os 100 arquivos altere:
de ~~~> For i = 1 To 3
para ~~~> For i = 1 To 100
após essa alteração e antes de rodar o código novamente apague os 3 arquivos gerados no teste

2. o código acima irá salvar os arquivos na mesma pasta em se se encontra gravado o Template, se você quiser escolher outro local então altere:
de ~~~> ActiveWorkbook.SaveAs "X" & Format(i, "000") & ".xlsx"
para ~~~> ActiveWorkbook.SaveAs "C:\MinhaPasta\" & "X" & Format(i, "000") & ".xlsx"

3. considerei G26, J4 e também o nome do arquivo como X001, mas se você quiser somente X1 então no lugar de Format(i, "000") coloque somente i

4. se no arquivo Template houver mais de uma planilha, então a planilha de interesse deverá ser a planilha ativa ao rodar o código

Re: Criar vários Arquivos a partir de um Template

Enviado: 22 Mar 2021 às 23:43
por BrunoLSantos
EXCELENTE!!! MUITO OBRIGADO, CÓDIGO TESTADO E FUNCIONANDO!