Gestione dinamica di immagini



  • Gestione dinamica di immagini
    di Zeph (utente non iscritto) data: 27/03/2015 14:29:29


    Avrei necessità che in un mio foglio, andando a modificare il valore in una cella della colonna A, sulla stessa riga, in altra colonna (poniamo D) mi mostri un'iconcina tra una serie di iconcine diverse che ho in formato GIF (da pochi kb ciascuna).
    Notare: la stessa iconcina potrebbe apparire su più righe.

    Ce la fate ad essere così in gamba da aiutare un niubbazzo come me ?
    E se questo niubbazzo avesse persino una versione di xls anteguerra (es. 2002) ?

    Grazie ciao!



  • di lepat (utente non iscritto) data: 27/03/2015 17:18:38

    allega il file con i dati ed il risultato desiderato, dove sono le iconcine ? nel foglio o nel disco ?



  • di Zephiro (utente non iscritto) data: 27/03/2015 18:18:27

    Le immagini posso metterle nel file o fuori: non mi cambia.
    Direi che se la soluzione più semplice (come ipotizzo?) è quella di tenerle dentro posso tenerle dentro.



  • di Zephiro (utente non iscritto) data: 27/03/2015 18:20:08

    file allegato:
    il risultato "desiderato" è nel foglio "desiderato" ;)



  • di lepat (utente non iscritto) data: 27/03/2015 18:31:44

    non ci ho capito niente, mi sembra che il risultato desiderato non corrisponda alla tua descrizione



  • di alfrimpa data: 30/03/2015 12:50:40

    Ciao Zeph.

    Premetto che non so se ho ben interpretato i tuo quesito comunque potresti provare con la macro qui sotto.

    Sul Foglio 1 in colonna A digiterai il nome del file.

    In colonna B dovrai inserire (uno per ogni riga) tanti controlli immagine (ActiveX) avendo cura che abbiano come nome Image1 (che deve stare sulla riga 1), Image2 (che deve stare sulla riga 1) e così via.

    Spero di essere stato chiaro.

    Alfredo

    P.S. Penso sia inutile che io alleghi il mio file visto che comunque tu dovrai modificarlo.
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ws As Worksheet
    Dim mpath As String
    If Not Application.Intersect(Range("a1:a10"), Target) Is Nothing Then  <-----Da modificare con la tua zona
        mpath = "c:prova" & Target.Text & ".jpg" <-----Da modificare con il tuo percorso
        Set ws = ActiveSheet
        ws.OLEObjects("image" & Target.Row).Object.Picture = LoadPicture(mpath)
    End If
    End Sub
    
    






  • di alfrimpa data: 30/03/2015 12:52:42

    Scusa un errore di digitazione

    "In colonna B dovrai inserire (uno per ogni riga) tanti controlli immagine (ActiveX) avendo cura che abbiano come nome Image1 (che deve stare sulla riga 1), Image2 (che deve stare sulla riga 1) e così via"

    va corretta in

    "In colonna B dovrai inserire (uno per ogni riga) tanti controlli immagine (ActiveX) avendo cura che abbiano come nome Image1 (che deve stare sulla riga 1), Image2 (che deve stare sulla riga 2) e così via"

    Alfredo