Excel - copiar hoja como imagen y pegarla en otra hoja

 
Vista:

copiar hoja como imagen y pegarla en otra hoja

Publicado por Pablo (1 intervención) el 01/10/2007 12:54:57
Hola a todos. Mi duda es la siguiente: ¿se puede seleccionar un rango de una hoja y copiarlo como una imagen? Lo primero lo he conseguido con el ASAP-Utilities pero no se puede meter en una macro, por lo tanto lo único que hace la macro es pegar el contenido del portapapeles siempre que la ejecuto. ¿Habría alguna manera de que me llamara a la función que copia esa hoja como imagen?
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Abraham Valencia
Val: 313
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

RE:copiar hoja como imagen y pegarla en otra hoja

Publicado por Abraham Valencia (2415 intervenciones) el 01/10/2007 19:13:40
Un ejemplo:

Sub GuardarImagen()
Dim choObj As ChartObject, chGráf As Chart, ptImagen As Object
Dim blnGuardado As Boolean
Dim rango1 As String, rango2 As String

Worksheets("Hoja1").Range("a1:d10").CopyPicture _
appearance:=xlScreen, _
Format:=xlPicture

Set choObj = ActiveSheet.ChartObjects.Add(0, 0, 800, 600)
Set chGráf = choObj.Chart

choObj.Activate
chGráf.ChartArea.Select
chGráf.Paste
Set ptImagen = chGráf.Pictures(1)

ptImagen.Left = 0
ptImagen.Top = 0

choObj.Border.LineStyle = xlNone
choObj.Width = ptImagen.Width + 7
choObj.Height = ptImagen.Height + 7

blnGuardado = chGráf.Export( _
Filename:="C:\ImagenExcel.GIF", filtername:="GIF")
If Not blnGuardado Then MsgBox _
prompt:="Problemas al guardar la imagen.", _
Buttons:=vbOKOnly + vbExclamation
choObj.Delete

Set choObj = Nothing
Set chGráf = Nothing
Set ptImagen = Nothing
End Sub

Abraham
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:copiar hoja como imagen y pegarla en otra hoja

Publicado por JuanC (792 intervenciones) el 03/10/2007 16:26:15
método directo (copiar y pegar)

Worksheets("Hoja1").Range("a1:d10").CopyPicture _
Appearance:=xlScreen, Format:=xlBitmap

Worksheets("Hoja2").Paste

Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar