erro na linha rng.CopyPicture Appearance:=xlScreen, Format:=xljpg

2026-02-03T00:16:47.66+00:00

esta dando erro na linha

eu estava usando versao excel 2007 agora para o 2019 esta dando erro do metodo

rng.CopyPicture Appearance:=xlScreen, Format:=xljpg]
Microsoft 365 e Office | Excel | Para uso doméstico | Windows
0 comentários Sem comentários

Resposta aceita pelo autor da pergunta
Kai-H 31,165 Pontos de reputação Equipe Externa da Microsoft Moderador
2026-02-04T08:57:26.5066667+00:00

(Aviso: As informações fornecidas foram traduzidas usando uma ferramenta de tradução automática; embora nos esforcemos para garantir a precisão, as traduções podem nem sempre refletir totalmente o significado, o contexto ou a intenção do conteúdo original.)

Olá, Adérito L. Pereira - ALPCONSULTORIA

Obrigado por entrar em contato com o fórum de perguntas e respostas da Microsoft.

Lamentamos a situação frustrante que você está enfrentando. No Excel (2007–2019), o método Range.CopyPicture só aceita Format:=xlBitmap ou Format:=xlPicture. xlJPG não é um valor válido para esse parâmetro, por isso a macro para nessa linha com erro.

Aqui estão algumas sugestões que você pode tentar para resolver esse problema:

Corrija a linha que está dando erro (troque xlJPG por um formato válido):

rng.CopyPicture Appearance:=xlScreen, Format:=xlPicture   ' ou xlBitmap

Se a sua meta final é gerar um arquivo JPG, o caminho típico é copiar como imagem e exportar via um Chart temporário (porque o Chart tem .Export para JPG/PNG):

Sub ExportarRangeComoJPG(rng As Range, ByVal caminhoCompleto As String)
    Dim co As ChartObject
    Application.CutCopyMode = False
    DoEvents
    rng.CopyPicture Appearance:=xlScreen, Format:=xlPicture
    Set co = rng.Parent.ChartObjects.Add(0, 0, rng.Width, rng.Height)
    co.Activate
    co.Chart.Paste
    co.Chart.Export Filename:=caminhoCompleto, Filtername:="JPG"
    co.Delete
End Sub

Se o erro acontece “às vezes” (intermitente), tente estabilizar limpando o modo de cópia e forçando o Excel a “respirar” antes e depois do CopyPicture:

Application.CutCopyMode = False
DoEvents
rng.CopyPicture Appearance:=xlScreen, Format:=xlPicture
DoEvents

Agradecemos sua paciência ao ler e esperamos que essas informações tenham sido úteis para você.  


Se a resposta for útil, clique em “Aceitar resposta” e vote positivamente. Se você tiver mais perguntas sobre esta resposta, clique em “Comentar”.  

Observação: siga as etapas em nossa documentação para ativar as notificações por e-mail se desejar receber a notificação por e-mail relacionada a este tópico. 

Esta resposta foi útil?

1 pessoa achou esta resposta útil.
0 comentários Sem comentários

0 respostas adicionais

Classificar por: Mais Antigo

Sua resposta

As respostas podem ser marcadas como ‘Aceitas’ pelo autor da pergunta e ‘Recomendadas’ pelos moderadores, o que ajuda os usuários a saber a resposta que resolveu o problema do autor.