Visualizzazione dei risultati da 1 a 3 su 3

Discussione: EXCEL 2010 Macro

  1. #1

    EXCEL 2010 Macro

    Buonasera a tutti, probabilmente per molti di voi sarà una cavolata ma mi sto perdendo in un bicchier d'acqua..

    Quello che devo fare è questo.. su un foglio Excel devo fare 2 macro collegate a due rispettivi pulsanti, cosa devono fare, uno deve inserire un immagine presa da un sito, nel foglio di lavoro mentre l'altro pulsante la deve togliere l'immagine.

    Cosa ho fatto:

    Macro per inserire

    Sub INSERT()
    '
    ' INSERT Macro
    '

    '
    Range("C35").Select
    ActiveSheet.Pictures.Insert("http://www.sito.it/immagine.png").Select
    End Sub


    Difatti se clicco l'immagine me la inserisce senza problemi.. il problema è che non riesco a toglierla!

    Questa Macro non funziona:

    Sub ELIMINA()
    '
    ' ELIMINA Macro
    '

    '
    ActiveSheet.Shapes.Range("C35").Select
    Selection.Delete
    End Sub



    Ho visto che quando vado ad inserire l'immagine con la macro insert, mette l'immagine nella cella e il riferimento della cella non è più C35 ma diventa "immagine X" dove X è un numero che però cambia ovviamente.

    Come posso fare?

  2. #2

    Re: EXCEL 2010 Macro

    Originariamente inviato da marcosx86
    ... il riferimento della cella non è più C35 ma diventa "immagine X" ...
    Ciao,
    questa frase mi stupisce perché, che io sappia, non c’è nessuna relazione fra gli oggetti, come le immagini, inseriti in un foglio excel e le celle del foglio.

    Le immagini si pongono al di sopra delle celle e sono del tutto slegate da quelle quindi non si possono inserire immagini nelle celle e non si possono cancellare immagini cancellando il contenuto delle celle, perché sono entità diverse.

    Questo, almeno, è ciò che risulta a me.

    Tanto per verificare prova a inserire l’immagine, poi clicca su una cella libera e, utilizzando le freccette, porta la selezione sulla cella C35 e poi premi CANC.
    Sul mio excel il risultato non è di eliminare l’immagine ma solo di cancellare un eventuale contenuto preesistente nella cella, non escludo però che con opportuni settaggi si possano collegare le immagini alle celle.

    Per posizionare le immagini io utilizzo le proprietà Top e Left e per identificarle uso un indice progressivo oppure un nome.

    Questo codice ad esempio inserisce e posiziona due immagini e assegna un nome alla seconda (ovviamente nulla vieta di chiamarla C35 se questo ti risulta comodo) :

    codice:
    Sub INSERT()
    
       ActiveSheet.Pictures.INSERT("http:// ... /a.jpg").Select
       ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Top = 20
       ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Left = 50
       
       ActiveSheet.Pictures.INSERT("http:// ... /b.jpg").Select
       With ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
          .Name = "pippo"
          .Top = 300
          .Left = 50
       End With
    
    End Sub
    Nota che ActiveSheet.Shapes.Count contiene il numero di immagini presenti nel foglio quindi ActiveSheet.Shapes(ActiveSheet.Shapes.Count) punta sempre all’ultima immagine e quindi si può usare subito dopo una insert per assegnare le proprietà all’immagine appena inserita.

    Queste istruzioni invece permettono di eliminare la prima immagine della serie, l’ultima e quella che si chiama pippo:

    codice:
       ActiveSheet.Shapes(1).Delete
       ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Delete
       ActiveSheet.Shapes("pippo").Delete
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  3. #3
    Grazie per la risposta,
    sono riuscito a risolvere così:


    Sub INSERT()
    '
    ' INSERT Macro
    '
    With ActiveSheet
    .Range("C35").Select
    .Pictures.INSERT ("http://www.sito.it/immagine.png")
    End With

    End Sub
    ---



    ---
    Sub ELIMINA()
    '
    ' ELIMINA Macro
    '
    ActiveSheet.Pictures(1).Delete

    End Sub
    ---



    Grazie comunque

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.