VBA

Salvando a seleção como imagem no Excel (com ou sem VBA)

Precisa salvar algo como uma imagem para ter sempre à mão? Veja como fazer isso com ou sem VBA

Por Maximiliano Meyer em 23/05/2017 às 12:30 - atualizado: 13/11/2017 09:00

No tutorial de hoje vamos ver mais uma daquelas dicas que mudam o modo como usamos o Excel. Vamos aprender a salvar uma seleção dentro de uma planilha como imagem.

A aula de hoje pode ser feito com ou sem VBA. Mostraremos os 2 métodos e você escolhe qual deseja. No primeiro deles vamos usar um pequeno auxiliar, no caso o Paint que tenho certeza que está instalado no seu PC. Mas se preferir pode ser qualquer outro programa de manipulação de imagem, como Photoshop ou Gimp. No segundo método não precisa de nada disso.

Sem VBA

No exemplo vamos supor que estamos trabalhando com a seguinte planilha:

Salvando a seleção como imagem no Excel (com ou sem VBA)

Agora queremos salvar esta planilha e estes dados no formato JPG. Primeiramente vamos selecionar o intervalo que desejamos salvar como imagem. Selecione tudo e na guia “Página Inicial”, grupo “Área de Transferência” clique na flechinha ao lado de “Copiar” e então em “Copiar como Imagem...

Salvando a seleção como imagem no Excel (com ou sem VBA)

Uma nova janelinha será aberta. Selecione as informações como deseja e dê um Ok.

Salvando a seleção como imagem no Excel (com ou sem VBA)

Agora abra o Paint e aperte Ctrl + V. Depois clique no ícone de disquete lá em cima e salve no formato que desejar.

Salvando a seleção como imagem no Excel (com ou sem VBA)

Com VBA

Como você já sabe vamos abrir a janela de edição de códigos com o atalho alt + F11. Após um duplo clique em “EstaPastaDeTrabalho” cole o seguinte código

Sub ExportarAreaParaJPG()

Dim tmpSheet As Worksheet
Dim tmpChart As Chart
Dim tmpImg As Object
Dim img As String

On Error GoTo erro

Selection.CopyPicture Appearance:=xlPrinter, Format:=xlPicture

Application.ScreenUpdating = False
  Set tmpSheet = Worksheets.Add
  Charts.Add
  ActiveChart.Location Where:=xlLocationAsObject, Name:=tmpSheet.Name
  Set tmpChart = ActiveChart
  With tmpChart
    .Paste
    Set tmpImg = Selection
    With .Parent
      .Height = 300
      .Width = 300
    End With
  End With

img = ThisWorkbook.Path & _
      "imagem_" & Format(Now, "yyyymmdd_hhmmss") & ".jpg"

tmpChart.Export Filename:=img, FilterName:="jpg"

Application.DisplayAlerts = False
tmpSheet.Delete
Application.DisplayAlerts = True

Application.ScreenUpdating = True
  MsgBox "Imagem exportada para o ficheiro:" & img, _
         vbInformation, _
         "Exportar para JPG"
GoTo fim

erro:
MsgBox "Erro: " & Err.Description, _
vbCritical, _
"Erro: " & Err.Number

fim:
Set tmpSheet = Nothing
Set tmpChart = Nothing
Set tmpImg = Nothing

End Sub

Repare que você terá de definir o tamanho da imagem a ser salva, ok? No exemplo acima definimos como 300 tanto de altura (Height) como largura (Width).

Salvando a seleção como imagem no Excel (com ou sem VBA)

O código foi adaptado do site do usuário português JJoão.

O processo de salvamento também pede que você selecione a área a ser salva como imagem. Execute a macro e você verá uma imagem confirmando a operação. O destino de salvamento da imagem é o mesmo de onde está a planilha.

Salvando a seleção como imagem no Excel (com ou sem VBA)

Até a próxima

relacionados

Participe
do nosso grupo

recentes

compartilhe este post

  • ASSINE NOSSA NEWSLETTER

    As melhores publicações no
    seu e-mail

  • Preencha para confirmar