Ir para conteúdo
Fórum Script Brasil
  • 0

Erro tempo de execução 1004 - VBA Excel


diegoamaral91

Pergunta

Olá pessoal, boa tarde!

Tenho uma macro que atualiza um relatório de hora em hora e envia um e-mail no fim do Script para alguns usuários com o status naquele momento.

Porém, toda vez que a macro está rodando, sempre quando chega no momento de criar uma imagem e colar, ele da um erro em tempo de execução 1004.
Mas, quando abre o depurador, se eu dou um play pra seguir a macro, ele segue normalmente até o fim.
E como roda de 1 em 1 hora, tenho que sempre estar olhando pra quando der o erro, clicar em depurar e dar play para seguir com a macro.

Deixei uma parte em negrito no Script, que foi uma tentativa de resolver o problema, aguardando 30 segundos para colar a imagem. Mas não adiantou, o erro sempre ocorre.

Segue abaixo o Script da macro e onde está sublinhado é quando ocorre o erro:

Private Sub createJpg(Namesheet As String, nameRange As String, nameFile As String)
    ThisWorkbook.Activate
    Worksheets(Namesheet).Activate
    
    newHour = Hour(Now())
    newMinute = Minute(Now())
    newSecond = Second(Now()) + 30
    waitTime = TimeSerial(newHour, newMinute, newSecond)
    Application.Wait waitTime

    
    Set Plage = ThisWorkbook.Worksheets(Namesheet).Range(nameRange)
    ThisWorkbook.Worksheets(Namesheet).Range(nameRange).CopyPicture ----- Nessa parte é aonde da o erro.
    With ThisWorkbook.Worksheets(Namesheet).ChartObjects.Add(Plage.Left, Plage.Top, Plage.Width, Plage.Height)
        .Activate
        .Visible = True
        .Chart.Paste
        With .Chart.Shapes(1)
            .Width = Plage.Width
            .Height = Plage.Height
        End With
        .Chart.Export Environ$("temp") & "\" & nameFile & ".jpg", "JPG"
        .Visible = False
    End With
    ActiveSheet.Shapes(Worksheets(Namesheet).ChartObjects(Worksheets(Namesheet).ChartObjects.Count).Name).Line.Visible = msoFalse
    Worksheets(Namesheet).ChartObjects(Worksheets(Namesheet).ChartObjects.Count).Delete
    Set Plage = Nothing
End Sub

Caso precisem de mais alguma informação para poder me ajudar, estou à disposição.

Valeu!

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Valeu Alyson, deu certo.

Muito obrigado pela ajuda!

Sabe como faço para encerrar esse tópico?

É meu primeiro, e não estou encontrando nenhuma opção para dar como resolvido.

Sabe como faço para encerrar esse tópico?

É meu primeiro, e não estou encontrando nenhuma opção para dar como resolvido.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...