No estoy entendiendo bien qué necesitas.
Explico lo que hace la macro:
- La macro copia un rango de celdas
- Guarda ese rango de celdas como una imagen
- Genera un archivo .jpeg y le pone por nombre el dato que está contenido en una celda.
Así como lo expliqué, qué necesitas que haga la macro.
La macro que utilizas es esta:
Sub CopiarCeldasComoImagen()
'Por.Dante Amor
'
Application.ScreenUpdating = False
Set h1 = Sheets("Hoja2")
Set h2 = Sheets.Add
ruta = ThisWorkbook.Path & "\"
archivo = ruta & h1.[D1] & ".JPEG"
'
rango = "A1:C10"
'
With h1.Range(rango)
fi = .Cells(1, 1).Row
ff = .Rows.Count + fi - 1
ci = .Cells(1, 1).Column
cf = .Columns.Count + ci - 1
izq = .Cells(1, 1).Left
der = h1.Cells(1, cf + 1).Left
baj = .Cells(1, 1).Top
arr = h1.Cells(ff + 1, 1).Top
anc = der - izq
alt = arr - baj
End With
'
h1.Range(rango).CopyPicture
h2.Shapes.AddChart
With h2.ChartObjects(1)
.Width = anc
.Height = alt
.Chart.Paste
.Chart.Export archivo
.Delete
End With
Application.DisplayAlerts = False
h2.Delete
Application.DisplayAlerts = True
'
MsgBox "Celdas guardadas como imagen en el archivo: " & archivo, vbInformation, Date
End Sub