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é.