Saltar al contenido

Problema de al generar jpg exporta en blanco


Recommended Posts

publicado

Tengo una macro que al exportar una seccion de excel exporta el rango en blanco sin informacion no se por que aqui el codigo

Sub Descripcion_jpg()
Sheets("Ingreso Productos variables").Select
Dim B As String
B = Range("C43").Value
If B = 2 Then
Exit Sub
End If
Sheets("Descripcion").Select
ActiveSheet.Unprotect ("adctv530")
Dim rgExp As Range: Set rgExp = Range("B22:K42")
Dim archivo As String
archivo = Range("A1").Value
''' Copy range as picture onto Clipboard
rgExp.CopyPicture Appearance:=xlScreen, Format:=xlBitmap
''' Create an empty chart with exact size of range copied
With ActiveSheet.ChartObjects.Add(Left:=rgExp.Left, Top:=rgExp.Top, _
Width:=rgExp.Width, Height:=rgExp.Height)
.Name = "ChartVolumeMetricsDevEXPORT"
.Activate
End With
''' Paste into chart area, export to file, delete chart.
ActiveChart.Paste
ActiveSheet.ChartObjects("ChartVolumeMetricsDevEXPORT").Chart.Export "C:\Fotos\Todas Descripcion\" & archivo
ActiveSheet.ChartObjects("ChartVolumeMetricsDevEXPORT").Delete

End Sub
[/CODE]

publicado

No entiendo lo de "....cuando haces varias exportaciones en la misma rutina..."

El código que has adjuntado solo hace una exportación.

publicado

Si ese modulo hace solo una exportación pero tengo varios módulos iguales con diferentes condicionantes que se ejecutan uno tras otro de acuerdo a variables los modulos son iguales lo que cambia son los rangos y los criterios de exportacion

publicado

Aqui algunos ejemplos

Sub Medidas_calzado_mujer_jpg()
Sheets("Detalles Web").Select
Dim MyChart As Chart
With Range("H23:M42")

.CopyPicture Appearance:=xlScreen, Format:=xlPicture

Set MyChart = ActiveSheet.ChartObjects.Add(10, 10, .Width, .Height).Chart
End With
MyChart.Paste

MyChart.ChartArea.Border.LineStyle = 0

On Error Resume Next

Dim archivo As String
archivo = Range("A2").Value
MyChart.Export "C:\Fotos\Todas Descripcion\" & archivo

MyChart.Parent.Delete

Set MyChart = Nothing

End Sub[/CODE]

[CODE]Sub Medidas_del_Cuerpo_Mujer_Interior_jpg()
Sheets("Descripcion").Select
Dim MyChart As Chart
With Range("AP5:AW24")

.CopyPicture Appearance:=xlScreen, Format:=xlPicture

Set MyChart = ActiveSheet.ChartObjects.Add(10, 10, .Width, .Height).Chart
End With
MyChart.Paste

MyChart.ChartArea.Border.LineStyle = 0

On Error Resume Next

Dim archivo As String
archivo = Range("A5").Value
MyChart.Export "C:\Fotos\Todas Descripcion\" & archivo

MyChart.Parent.Delete

Set MyChart = Nothing

End Sub[/CODE]

publicado

He probado con tu archivo, y sigo sin tener problemas, he ejecutado las macros que has adjuntado y me las ejecuta tantas veces como lo solicito y las imágenes generadas son las correctas.

Dos cosas:

  • Elimina las instrucciones On Error Resume Next, de esta manera sabrás cual es el error que genera
  • Elimina las filas sobrantes de las hojas (Hay hojas que tienen mas de 1 millón de filas, de ahí los 25 Mbytes que ocupa el archivo).

.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.