Estou criando uma planilha para gerar um tipo de Lâmina para Fundos de Investimento aqui na minha empresa, fiz todo o layout e busco as informações de um site externo por meio de um AddIn disponibilizado por esse site compatível com o Excel. Logo, fiz uma Macro com um Loop For Next junto com o Application.OnTime (para esperar alguns segundos antes de gerar o pdf, para dar tempo de puxar as informações do AddIn do site externo), já o Loop For Next serve para ir trocando de fundos, pois quero que gere o PDF de vários fundos (cerca de 200). Depois, esse Application.OnTime redireciona para uma outra macro que arruma os formatos do PDF e depois gera o PDF e salva em uma pasta apropriada. O grande problema é que depois de gerar o PDF, o Loop For Next da outra macro não continua, ou seja, só estou conseguindo gerar 1 lâmina.
O que poderia ser feito para arrumar isso? Utilizar um GoTo na macro de gerar o PDF para voltar para a macro com o Loop? Mas isso não resetaria a variável de contagem e geraria a mesma lâmina para sempre?
Estou aberto para sugestões, vou passar uma planilha fictícia do meu problema para ver se vocês conseguem me ajudar, pois não posso enviar a planilha real por conta das informações da empresa.
Notem que a planilha está sem nenhum tipo de formula, pois colei tudo como valor para mostrar a vocês, o que precisa ser feito é: Todos os fundos da Aba "FUNDOS EMPRESA" na coluna D, devem passar um por um para a Aba "LÂMINA" na célula W1, depois esperar 59 segundos e em seguida gerar o PDF e salvar na pasta padrão, depois voltar para o próximo fundo e repetir o processo até que se encerrem os fundos.
Pergunta
kosciukdeh
Boa tarde, Pessoal.
Estou criando uma planilha para gerar um tipo de Lâmina para Fundos de Investimento aqui na minha empresa, fiz todo o layout e busco as informações de um site externo por meio de um AddIn disponibilizado por esse site compatível com o Excel. Logo, fiz uma Macro com um Loop For Next junto com o Application.OnTime (para esperar alguns segundos antes de gerar o pdf, para dar tempo de puxar as informações do AddIn do site externo), já o Loop For Next serve para ir trocando de fundos, pois quero que gere o PDF de vários fundos (cerca de 200). Depois, esse Application.OnTime redireciona para uma outra macro que arruma os formatos do PDF e depois gera o PDF e salva em uma pasta apropriada. O grande problema é que depois de gerar o PDF, o Loop For Next da outra macro não continua, ou seja, só estou conseguindo gerar 1 lâmina.
O que poderia ser feito para arrumar isso? Utilizar um GoTo na macro de gerar o PDF para voltar para a macro com o Loop? Mas isso não resetaria a variável de contagem e geraria a mesma lâmina para sempre?
Estou aberto para sugestões, vou passar uma planilha fictícia do meu problema para ver se vocês conseguem me ajudar, pois não posso enviar a planilha real por conta das informações da empresa.
Link Planilha Fictícia: https://www.dropbox.com/sh/opssmhehqgsxgii/AAC7UHnD02A7U36VQJRpyZPMa?dl=0
Notem que a planilha está sem nenhum tipo de formula, pois colei tudo como valor para mostrar a vocês, o que precisa ser feito é: Todos os fundos da Aba "FUNDOS EMPRESA" na coluna D, devem passar um por um para a Aba "LÂMINA" na célula W1, depois esperar 59 segundos e em seguida gerar o PDF e salvar na pasta padrão, depois voltar para o próximo fundo e repetir o processo até que se encerrem os fundos.
As macros utilizadas foram:
Sub auto_open()
For A = 1 To 5
Worksheets("LÂMINA").Range("W1") = Worksheets("Fundos SMI").Cells(A + 3, 4)
Dim fechar As Date
fechar = Now + TimeValue("00:00:59")
Application.OnTime fechar, "fazerpdf"
Next
End Sub
Sub fazerpdf()
Range("W20:W23").Select
Selection.Copy
Range("I20:T23").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("LÂMINA").ExportAsFixedFormat Type:=xlTypePDF _
, Filename:="S:\ASSESSORIA\Temporário\André\Melhorias\Em Andamento\Automatização das Lâminas\Lâminas\" & Range("B6") & "", OpenAfterPublish:=False
End Sub
Conto com a ajuda de vocês, agradeço desde já.
André.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.