Cancellare immagini da un range



  • Cancellare immagini da un range
    di gianca53 (utente non iscritto) data: 28/03/2014 21:40:10

    Ho questo problema :nelle celle F3:F30 ho importato una serie di immagini che, in chiusura di lavoro vorrei cancellare per non avere un file inutilmente appesantito ( le immagini risiedono fisicamente in una cartella separata) ora mi capita che applicando questa macro essa mi cancella le immagini ma anche il pulsante da me creato per al sua attivazione. V codice ASub Cancella_A
    Sul web ho trovato quest'altra macro (test)ma non funziona , è del 2004 , quindi per altre versioni di excel. L'allego solo come spunto, magari è possibile adattrarla a Exl 2010 .


    Grazie .

     
    Sub Cancella_A()
    Set myDocument = Worksheets("Settore A")
    myDocument.Shapes.SelectAll
    Selection.Delete
    End Sub
    
    --------------------------
    
    Sub Test()
    Dim Sh As Shape
    With Worksheets("Sheet1")
    For Each Sh In .Shapes
    If Not Application.Intersect(Sh.TopLeftCell, .Range("C1:C50")) Is Nothing Then
    If Sh.Type = msoPicture Then Sh.Delete
    End If
    Next Sh
    End With
    End Sub



  • di gianca53 (utente non iscritto) data: 28/03/2014 21:48:13

    Precisazione : la cella in cui risiede l'immagine contiene anche una funzione cerca.vert() che assolutamente NOn è da cancellare , quindi comandi tipo Clearcontents non vanno bene perchè mi cancellano tutto : immagine + funzione di ricerca.



  • di isy data: 28/03/2014 22:32:01

    Ciao

    La macro Sub Test() è quella corretta.
    Devi solamente modificare il nome del foglio

    With Worksheets("Foglio1") 'Modifica il riferimento al foglio

    e il tuo range:
    If Not Application.Intersect(Sh.TopLeftCell, .Range("F3:F30")) Is Nothing Then