Error con macro no encuentro error

Necesitaría ayuda con la siguiente macro me da error y no encuentro la solucion quiero borrar varias hojas de un libro

Sub borrarvariashojas()
'deja limpio el rango S:AA
Sheets("RESULTADOchoco").Select
With Range("a:AA")
    .UnMerge    'quita posibles combinaciones
    .Clear      'limpia todo
End With
For Each img In ActiveSheet.Shapes
img.Delete
Sheets("RESULTADOchoco1").Select
With Range("a:AA")
    .UnMerge    'quita posibles combinaciones
    .Clear      'limpia todo
End With
For Each img In ActiveSheet.Shapes
img.Delete
Sheets("RESULTADOnequik").Select
With Range("a:AA")
    .UnMerge    'quita posibles combinaciones
    .Clear      'limpia todo
End With
For Each img In ActiveSheet.Shapes
img.Delete
Sheets("RESULTADOharinas").Select
With Range("a:AA")
    .UnMerge    'quita posibles combinaciones
    .Clear      'limpia todo
End With
For Each img In ActiveSheet.Shapes
img.Delete
Sheets("RESULTADOleche").Select
With Range("a:AA")
    .UnMerge    'quita posibles combinaciones
    .Clear      'limpia todo
End With
For Each img In ActiveSheet.Shapes
img.Delete
Sheets("RESULTADOconfi").Select
With Range("a:AA")
    .UnMerge    'quita posibles combinaciones
    .Clear      'limpia todo
End With
For Each img In ActiveSheet.Shapes
img.Delete
Next
   End Sub

¿Si alguien me puede ayudar?

1 respuesta

Respuesta
1

Te falta cerrar cada bucle For..... Next:

For Each img In ActiveSheet.Shapes
img.Delete

Next img

Solo lo colocaste al final, pero falta en todos los demás.

No soy muy experto me puedes ayudar no lo consigo

Sub borrarvariashojas()
'deja limpio el rango S:AA
Sheets("RESULTADOchoco").Select
With Range("a:AA")
    .UnMerge    'quita posibles combinaciones
    .Clear      'limpia todo
End With
For Each img In ActiveSheet.Shapes
img.Delete
Sheets("RESULTADOchoco1").Select
With Range("a:AA")
    .UnMerge    'quita posibles combinaciones
    .Clear      'limpia todo
End With
For Each img In ActiveSheet.Shapes
img.Delete

Dime donde coloco el Next img en las dos primeras y yo sigo en el resto

Debajo de cada línea que dice:

img.Delete

debes agregar otra que diga:

Next img

Te tienen que quedar las 3 tal como te comente antes. También es correcto en este caso colocar sólo la palabra Next en lugar de Next img

Al final justo antes del End Sub tenes bien cerrado el bucle con Next.... no hace falta que agregues nada más.

Sdos y no olvides que debes valorar las respuestas cuando el tema quede resuelto.

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas