¿Has necesitado alguna vez capturar una imagen de un rango de celdas en formato JPG? ¿Y si te dijese que esta operación se puede realizar de manera automática? Vamos a ver cómo.
He creado una tabla con la evolución del IPC a lo largo de los tres últimos años. A la derecha, he incluido un minigráfico de barras a modo ilustrativo.
También, he añadido un botón para crear una imagen en formato JPG del rango de celdas que previamente hayamos definido en el código que lo acompaña. Os lo comparto a continuación,
Sub Crear_imagen()
'Dimensionamos las variables
Dim Hoja As Worksheet
Dim Rango As Range
Dim Objeto As ChartObject
Dim Ancho As Long, Alto As Long
'Establecemos la hoja y el rango de trabajo
Set Hoja = ActiveSheet
Set Rango = Range("B2:O7")
'Creamos el objeto imagen
Rango.CopyPicture xlScreen, xlPicture
Ancho = Rango.Width
Alto = Rango.Height
Set Objeto = Hoja.ChartObjects.Add(Left:=0, Top:=0, Width:=Ancho, Height:=Alto)
Objeto.Activate
'Exportamos el objeto a un archivo de imagen .jpg a la ubicación por defecto (Mis Documentos)
With Objeto.Chart
.Paste
.Export Filename:="IPC.jpg", Filtername:="JPG"
End With
'Borramos el objeto de la hoja
Objeto.Delete
End Sub
He configurado el ejemplo para realizar una captura del rango comprendido entre la celda B2 y la celda O7. El archivo se guardará en la carpeta Mis Documentos con el nombre IPC.jpg (configurado también dentro del código).
El resultado es el siguiente,
Podríamos modificar el código para que, en lugar de prefijar el rango dentro del código, la captura se realizase en base a la selección actual de celdas. Os dejo la idea para que la desarrolléis usando este ejemplo como base.
Espero que te sirva este ejemplo para crear una imagen JPG de un rango de celdas en Microsoft Excel. Descarga el archivo de ejemplo y practica.
Por último, invitarte a compartir tus dudas en los comentarios o en el foro, y a darle clic a la publicidad de abajo para ayudarme a seguir creando contenido.
Hasta la próxima.
0 comentarios