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:
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..."
Uma nova janelinha será aberta. Selecione as informações como deseja e dê um Ok.
Agora abra o Paint e aperte Ctrl + V. Depois clique no ícone de disquete lá em cima e salve no formato que desejar.
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).
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.
Até a próxima
😕 Poxa, o que podemos melhorar?
😃 Boa, seu feedback foi enviado!
✋ Você já nos enviou um feedback para este texto.