Ir para conteúdo
Fórum Script Brasil

kosciukdeh

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre kosciukdeh

kosciukdeh's Achievements

0

Reputação

  1. 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é.
×
×
  • Criar Novo...