sto cercando un modo per cancellare le immagini di un foglio excel (uso excel 2010) in un determinato range (H65:H180).
Ho provato con questo codice trovato in rete:
- Codice: Seleziona tutto
Sub deleteInRange()
Dim pic As Picture
With Sheets(1)
For Each pic In .Pictures
If Not Intersect(pic.TopLeftCell, .[COLOR=#ff0000]Range("H65:H180")[/COLOR]) Is Nothing Then pic.Delete
Next pic
End With
end sub
Ma non cancella tutte le immagini che ci sono nel foglio, 5-6 rimangono e non riesco a spiegarmi il motivo, anche perché le proprietà di tutte le immagini sono uguali.
Un codice più "aggressivo" come questo:
- Codice: Seleziona tutto
Sub Cancella_Immagini()
Cancellate = 0
For Each sh In ActiveSheet.Shapes
ActiveSheet.Shapes(1).Delete
Cancellate = Cancellate + 1
Next
If Cancellate = 0 Then
MsgBox "Non sono presenti immagini nel foglio selezionato"
Else
MsgBox "Sono state cancellate '" & Cancellate & "' immagini nel foglio selezionato"
End If
End Sub
Cancella tutte le immagini ma anche quelle che mi serve tenere (come i bottoni che attivano le macro e altre immagini minori).
Ho pensato di usare il secondo codice inserendovi il range specifico, ma sono ancora alle prime armi con vba e non so come inserirlo...