Condividi:        

Excel: problema nel cancellare immagini in un range

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Excel: problema nel cancellare immagini in un range

Postdi CowboyBebop » 26/10/18 15:01

Ciao a tutti,
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... :oops: :roll:
CowboyBebop
Utente Junior
 
Post: 14
Iscritto il: 15/05/18 15:44

Sponsor
 

Re: Excel: problema nel cancellare immagini in un range

Postdi Marius44 » 26/10/18 17:09

Ciao
Per il futuro ricordati che è sempre meglio allegare il proprio file (depurato di dati sensibili) sul quale dar modo a chi volesse aiutarti di lavorare.

Forse devi "combinare" le due macro che hai postato. Faccio un esempio (ma usalo con attenzione perchè sto andando a lume di naso)

Codice: Seleziona tutto
Sub Cancella_Immagini_Che_Vuoi()
    For Each sh In ActiveSheet.Shapes
        If sh.top >= range("H65").top and sh.left>= range("H65").left and sh.top <= range("H180").top and sh.left <= range("H180").left then
        sh.delete
    Next
End Sub


In altri termini stai dicendo ad Excel-VBA che se le proprietà Top e Left delle immagino sono "dentro" l'intervallo allora cancellale. Fai attenzione, però, se qualche pulsante è anch'esso dentro l'intervallo.

Fai sapere. Ciao,ùMario
Marius44
Utente Senior
 
Post: 655
Iscritto il: 07/09/15 22:00

Re: Excel: problema nel cancellare immagini in un range

Postdi CowboyBebop » 05/11/18 14:40

Intanto grazie mille Mario per la risposta, hai ragione avrei dovuto mettere un file di esempio!
Ti ringrazio per questa imbeccata sul codice, non avevo pensato a combinarle! Provo e vi faccio sapere!
Grazie ancora
CowboyBebop
Utente Junior
 
Post: 14
Iscritto il: 15/05/18 15:44


Torna a Applicazioni Office Windows


Topic correlati a "Excel: problema nel cancellare immagini in un range":


Chi c’è in linea

Visitano il forum: Nessuno e 54 ospiti