Sacar imagen a un gráfico de excel

Pille un código para sacar foto o imagen a un gráfico de excel y lo convierte a una imagen dentro de la carleta donde esta el archivo de excel:

Sub GuardarGraficos()

    Dim grafico As ChartObject

    Dim archivo As String

   

    For Each grafico In ActiveSheet.ChartObjects

        archivo = ThisWorkbook.Path & "\" & grafico.Name & ".gif"

        grafico.Chart.Export Filename:=archivo, FilterName:="gif"

    Next grafico

End Sub

Ahora yo quisiera saber si es posible sacar a toda una hoja y crear un botón para hacerlo, sin necesidad de ir a macros..

1 respuesta

Respuesta
1

A qué te refieres con esto: "sacar a toda una hoja"

Puedes poner una imagen de lo que quieres.

Sacar a toda la hoja de excel osea a todas la tablas que contengan

No me das mucha información, puedes ser más específico con lo que quieres.

¿Tienes un rango de datos como tabla?

¿Quieres pasar esa tabla a una imagen?

¿Guardar esa imagen en un archivo?

Si puedes explicarlo con dibujos o envíame tu archivo y me explicas qué es lo que quieres.

Recuerda poner tu nombre en el asunto del correo

Dante la pregunta es la siguiente: quiero sacar una imagen a un hoja completa de excel, hagamos de cuenta que en mi archivo tengo 5 hojas para imprimir y solo quiero sacar una imagen a la primera hoja; te mande un código en donde esa macro saca imagen pero de  un gráfico; yo creo que se cambiamos ese código sacaría a toda la hoja. Pero esto funciona con macros, me gustaría si se pudiera crear un botón para hacerlo automáticamente.. Gracias...

Archivo de macro:

https://mega.co.nz/#!ToEjQahT

Hoja a la que se quiere sacar la foto:

Te anexo el código. Cambia "datos" por el nombre de tu hoja.

"A1:Z40" por el rango de celdas que quieras en la imagen.

"HojaImagne", por el nombre del archivo.

Sub HojaComoImagen()
'Por.Dante Amor
    '
    Application.ScreenUpdating = False
    Set h1 = Sheets("datos")
    Set h2 = Sheets.Add
    ruta = ThisWorkbook.Path & "\"
    archivo = ruta & "HojaImagen.JPEG"
    rango = "A1:Z40"
    '
    h1.Range(rango).CopyPicture
    h2.Shapes.AddChart.Select
    With h2.ChartObjects(1)
        .Width = h1.Range(rango).Width
        .Height = h1.Range(rango).Height
        .Chart.Paste
        .Chart.Export archivo
    End With
    Application.DisplayAlerts = False
    h2.Delete
    Application.DisplayAlerts = True
    '
    MsgBox "Hoja guardada como imagen, en el archivo: " & archivo, vbInformation, Date
End Sub

Saludos.Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas