Condividi tramite

Oggetti/immagini dinamiche

Anonimo
2010-11-09T22:26:18+00:00

Ciao, vorrei sapere se è possibile associare a determinati valori che una cella acquisisce (magari tramite convalida dati) determinate immagini.

Ho un database di una diecina di immagini sul foglio 2, e sul foglio 1 avrei una cella che può assumere 10 valori.

Ad ognuno di essi è associata un'immagine.

Sarebbe possibile gestire questo senza macro? Mal che vada va bene anche una macro, anche se vorrei evitare.

Grazie

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
2010-11-16T13:17:14+00:00

Premesso che il tuo esempio è perfetto al mio scopo, non capisco però (scusami l'ignoranza), cosa sia un "controllo immagine". E' una funzione particolare di excel? Scusami e grazie ancora.

PS Ho inoltre constatato che le immagini nel tuo file di esempio, non sono semplici file immagini (jpeg, bmp o altro) ma altre forme. Posso chiederti come hai inserito queste immagini?

PPS Nel debug mi da questo errore a questa riga: Me.OLEObjects(sh2.Range("A" & lng).Value).Visible = False Dove sbaglio?

  1. Visualizza
  2. Barre degli strumenti
  3. Strumenti di controllo
  4. Seleziona e disegna un controllo immagine sul foglio
  5. Click con il tasto dx del mouse sul controllo
  6. Seleziona: Proprietà
  7. Nella finestra che compare metti come proprietà Nane il nome che hai nell'elenco(esempio: Sole)
  8. Seleziona: Picture
  9. A dx trovi un pulsantino, selezionalo
  10. Carica la tua immagine
  11. Dimensiona il controllo
  12. Quando il controllo è delle dimensioni che vuoi tu
  13. Selezionalo con il tasto dx del mouse
  14. Copia
  15. Click sul foglio
  16. Incolla
  17. Ripeti i passi da 5 a 10
  18. Ripeti per le altre immagini i passi da 13 a 16
  19. Sovrapponi i controlli

Ripeto che: i Name dei controlli devono essere gli stessi(identici) dei valore che hai nell'elenco. Il nome del tuo elenco deve prendere il posto di quello che io ho fra le parentesi quadre nel codice postato. Nel mio esempio è Elenco. Sono(quasi) sempre qui se hai bisogno.


--

La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

--

Mauro Gamberini - Microsoft© MVP(Excel)

http://www.maurogsc.eu/

La risposta è stata utile?

2 persone hanno trovato utile questa risposta.
0 commenti Nessun commento

14 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2010-11-18T16:06:08+00:00

    Worksheet... cioè foglio 1, foglio 2 foglio 3 e foglio 4..... fino a foglio 30. Ma non per foglio 31 e foglio 32.

    Siccome dovrei con lo script precedente crearne uno per ogni singolo foglio, volevo creare una sorta di macro applicabile solo per i fogli per cui decido io.

     

    Ovviamente le celle a cui applicare le istruzioni non cambiano dai fogli 1 al foglio 30, quindi la macro è e rimane sempre uguale per i 30 fogli.

    Evento:

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

    End Sub

    nel modulo di codice di ThisWorkbook. Il parametro Sh ti dice su quale foglio stai facendo la modifica e il parametro Target su quale cella. Devi solo togliere il codice dal modulo del foglio e implementare l'evento qui sopra, ad esempio:

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

        Select Case Sh.Name

            Case "Foglio31", "Foglio32"

            Case Else

                'qui metti il codice che varrà

                'per tutti gli altri fogli

        End Select

    End Sub


    --

    La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

    --

    Mauro Gamberini - Microsoft© MVP(Excel)

    http://www.maurogsc.eu/

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2010-11-18T15:54:04+00:00

    Worksheet... cioè foglio 1, foglio 2 foglio 3 e foglio 4..... fino a foglio 30. Ma non per foglio 31 e foglio 32.

    Siccome dovrei con lo script precedente crearne uno per ogni singolo foglio, volevo creare una sorta di macro applicabile solo per i fogli per cui decido io.

    Ovviamente le celle a cui applicare le istruzioni non cambiano dai fogli 1 al foglio 30, quindi la macro è e rimane sempre uguale per i 30 fogli.

    La risposta è stata utile?

    0 commenti Nessun commento