Uma sacada de gênio! O colega Gary Student do fórum (ou quase isso) stackoverflow, em resposta à pergunta “Como exportar uma planilha de Excel para uma Imagem”, em tradução literal. Bem, o código dele foi quase que sublime! Veja abaixo o resultado e depois explico:
Sub PictureSaver() Dim ch As Chart Charts.Add Set ch = ActiveChart Sheets("Sheet4").Select Range("A1:D4").Select Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture ch.Select ch.Paste ch.Export Filename:="sample.jpg" Application.DisplayAlerts = False ch.Delete Application.DisplayAlerts = True End Sub |
Em suma, ele está “trapaceando” com o Excel para conseguir o feito. Ele adiciona uma planilha do tipo gráfico, seleciona uma área (células) de uma planilha, copia para a área de transferência, cola sobre o gráfico usando a função CopyPicture, que produz dentro o Excel uma imagem referente à área de selecionada e em seguida, exporta o conteúdo do gráfico, que agora contém uma figura da planilha para uma imagem. Por fim, ele excluir a planilha de gráfico para não deixar sujeira.
Saída de mestre! O post original é: https://stackoverflow.com/questions/21759417/how-can-i-export-an-excel-worksheet-as-image/21761619#21761619