2014-06-20

Exportar gráficos de un libro de Excel con VBA

Hace unas semanas cree la siguiente subrutina que exporta todos los gráficos de un libro de Excel en la misma ruta del fichero desde donde se ejecuta.

Código

Option Explicit
Sub ExportarGraficos()
    Dim i As Integer, ext As String
    Dim ws As Object, chtobj As ChartObject
    Dim chtobjnum As Integer
    ext = InputBox(Prompt:="Escribe la extensión incluyendo el punto." _
            & vbCrLf & "Ej: .png, .gif, .jpeg, etc.", _
            Title:="Extensión de la imagen", Default:=".png")
        For Each ws In ThisWorkbook.Worksheets
        chtobjnum = chtobjnum + ws.ChartObjects.Count
            For Each chtobj In ws.ChartObjects
              chtobj.Activate
              ActiveChart.Export Filename:=ThisWorkbook.Path & "\" _
              & ActiveChart.Name & ext
            Next chtobj
        Next ws
    MsgBox "Gráficos exportados: " & chtobjnum & vbCrLf & _
     "Ruta: " & ThisWorkbook.Path, vbInformation, "Gráficos"
End Sub

Aclaraciones

Al ejecutarla muestra un cuadro de diálogo para escoger la extensión de la imagen deseada. Por defecto es .png.

Al finalizar la subrutina muestra un mensaje de texto con el número de gráficos exportados y la ruta donde se guardaron.

Gráficos exportados

No hay comentarios:

Publicar un comentario

Nube de datos