Condividi tramite

Inserimento immagini dinamiche in Excel 2007

Anonimo
2013-05-14T13:43:39+00:00

Ciao, vorrei sapere come fare per inserire un campo immagine il cui contenuto sia variabile al variare del contenuto di una determinata cella dello stesso foglio di lavoro. Ho provato con controllo immagine ActiveX ma non riesco, come posso fare?

Grazie mille

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2013-05-14T14:05:56+00:00

Ciao, vorrei sapere come fare per inserire un campo immagine il cui contenuto sia variabile al variare del contenuto di una determinata cella dello stesso foglio di lavoro. Ho provato con controllo immagine ActiveX ma non riesco, come posso fare?

Grazie mille

Se le immagini non sono molte, puoi partire da qui:

http://www.maurogsc.eu/esempiforum10/cambiaimmagini.zip

Se le immagini sono molte, meglio non tenerle nel foglio. Puoi partire da qui:

http://www.maurogsc.eu/esempiforum13/cambiaimmagini2.zip

La risposta è stata utile?

10+ persone hanno trovato utile questa risposta.
0 commenti Nessun commento

64 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2013-09-16T11:09:02+00:00

    Salve. Ho cercato di modificare il file cambiaimmagini2 per fare due cose:

    1. cambiare -ovviamente- nomi e foto (ci sono riuscito)
    2. inserire una seconda macro che faccia la stessa cosa ma prendendo il valore da un altra cella (ad es. A13 e riportando l'immagine in un altra cella. Come posso fare? Riporto il codice attuale:

    Option Explicit

    Non sono macro, ma eventi, uno per foglio.

     Private Sub Worksheet_Change(ByVal Target As Range)

         Dim s As String

         s = ThisWorkbook.Path & ""

         With Target

             If .Address = "$A$2" Then

                 If .Value <> "" Then

                     Me.Image1.Picture = _

                         LoadPicture(s & .Value & ".jpg")

                     Me.Image1.AutoSize = True

                 End If

            ElseIf .Address = "A13" Then

                If .Value <> "" Then

                     Me.Image1.Picture = _

                         LoadPicture(s & .Value & ".jpg")

                     Me.Image1.AutoSize = True

                 End If

             End If

         End With

     End Sub

    Oppure:

     Private Sub Worksheet_Change(ByVal Target As Range)

         Dim s As String

         Dim rng As Range

         Set rng = Me.Range("A2,A13")

         s = ThisWorkbook.Path & ""

         With Target

             If Not Intersect(Target, rng) Is Nothing Then

                 If .Value <> "" Then

                     Me.Image1.Picture = _

                         LoadPicture(s & .Value & ".jpg")

                     Me.Image1.AutoSize = True

                 End If

             End If

         End With

         Set rng = Nothing

     End Sub

    Qui cambiamo sempre Image1. Nel caso ci siano Image1 e Image2, modifica di conseguenza.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2013-09-16T10:46:44+00:00

    Salve. Ho cercato di modificare il file cambiaimmagini2 per fare due cose:

    1. cambiare -ovviamente- nomi e foto (ci sono riuscito)
    2. inserire una seconda macro che faccia la stessa cosa ma prendendo il valore da un altra cella (ad es. A13 e riportando l'immagine in un altra cella. Come posso fare? Riporto il codice attuale:

    Option Explicit

    Private Sub Worksheet_Change(ByVal Target As Range)

        Dim s As String

        s = ThisWorkbook.Path & ""

        With Target

            If .Address = "$A$2" Then

                If .Value <> "" Then

                    Me.Image1.Picture = _

                        LoadPicture(s & .Value & ".jpg")

                    Me.Image1.AutoSize = True

                End If

            End If

        End With

    End Sub

    Private Sub Worksheet_Change2(ByVal Target As Range)

        Dim s As String

        s = ThisWorkbook.Path & ""

        With Target

            If .Address = "$A$13" Then

                If .Value <> "" Then

                    Me.Image1.Picture = _

                        LoadPicture(s & .Value & ".jpg")

                    Me.Image1.AutoSize = True

                End If

            End If

        End With

    End Sub

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2013-05-15T13:13:22+00:00

    Ciao Mauro,

    ho provato partendo dal tuo file "cambiaimmagini2" e funziona tutto alla perfezione.

    Grazie mille

    Bene!

    Grazie per il cortese riscontro.

    Ciao e alla prossima.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2013-05-15T12:31:38+00:00

    Ciao Mauro,

    ho provato partendo dal tuo file "cambiaimmagini2" e funziona tutto alla perfezione.

    Grazie mille

    La risposta è stata utile?

    0 commenti Nessun commento