Jump to content
Fórum Script Brasil
  • 0

Erro tempo de execução 1004 - VBA Excel


diegoamaral91

Question

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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      652k
×
×
  • Create New...