Inserire foto random



  • Inserire foto random
    di togeme (utente non iscritto) data: 18/01/2014 06:12:23

    Ciao a tutti, mi sono appena iscritta a questo forum molto interessante;
    Ho un file excel nel quale sono inserite diverse colonne; nella colonna A nella riga 2, con un pulsante, vorrei che in automatico venisse affiancata una immagine qualsiasi di piccole dimensioni.
    So che esistono le Macro di Excel che permettono di fare questo ma io dopo vari tentativi .... io non ci riesco!
    Spero di essere stata chiara ....Non me ne intendo per nulla di Visual Basic ma mi auguro comunque di riuscire a mettere in pratica i vostri suggerimenti (nella speranza che mi possiate aiutare!)
    Grazie mille!
    ed un bacio a tutti Antonella



  • di patel data: 18/01/2014 09:27:29

    1) allega un file di esempio con anche il risultato desiderato
    2) da dove devono essere prelevate le immagini ?





  • di marxitpa data: 18/01/2014 10:28:39

    Se può essere utile, inserisco codice come punto di partenza ...
     
    Sub Inserisci_immagine()
    Dim ws1 As Worksheet
    Set ws1 = ThisWorkbook.Sheets(1)
    Dim img As Object
    Dim immagine As String
    On Error GoTo uscita
    'IMPOSTO LA CELLA DOVE VERRà INSERITA L'IMMAGINE;LOGICAMENTE PUOI SCEGLERE QUELLA CHE VUOI; NELL'ESEMPIO SCELGO LA CELLA A1 DEL FOGLIO1
    ws1.Range("A1").Select
    ChDir "C:files immagine"   'IMPOSTO LA DIRECTORY DEI FILES DA INSERIRE
    ' CON IL METODO GetOpenFilename APRO LA FINESTRA DI DIALOGO CHE SI APRIRà DI DEFAULT NELLA DIRECTORY IMPOSTATA IN PRECEDENZA; IL METODO NON APRE REALMENTE IL FILE, MA RESTITUISCE IL SUO NOME; LE ESTENSIONI DEI FILE POSSONO ESSERE AGGIUNTE O ELIMINATE
    immagine = Application.GetOpenFilename _
    ("file Immagine (*.jpg;*.gif;*.bmp;*.tif)" & _
    ",*.jpg;*.gif*.bmp;*.tif")
    ' INSERISCO L'IMMAGINE SCELTA NELLA CELLA SELEZIONATA
    Set img = ws1.Pictures.Insert(immagine)
    'IMPOSTO LE DIMENSIONI DELL'IMMAGINE CHE SI ADATTERà ALLE DIMENSIONI DELLA CELLA
    With img
       .ShapeRange.LockAspectRatio = msoFalse
       .ShapeRange.Height = ws1.Range("T5").RowHeight * 8.25 + 20
       .ShapeRange.Width = ws1.Range("T5").ColumnWidth * 15.25 + 20
       .Placement = xlMoveAndSize
    End With
    uscita:
    If Err.Number <> 0 Then
        MsgBox "Errore numero " _
        & Err.Number & ": " & Err.Description
    End If
    Set img = Nothing
    Set ws1 = Nothing
    End Sub
    
    


  • Per il signor Patel
    di Antonella (utente non iscritto) data: 18/01/2014 16:55:41

    Egr. signor Patel dove posso allegare il mio file di prova per farglielo pervenire ?

    Ad ogni modo provo a semplificare al massimo la mia domanda:
    Ho delle voci di testo:
    in A2 ho un testo "Tigre" nella riga B2 mi appare un "Leone" che ha pescato random nella mia cartella in C: che si nomina "foto_anto" - sbagliato!! -
    in A3 ho un testo "Elefante" nella riga B3 mi appare un "Maiale" che ha pescato random nella mia cartella in C: che si nomina "foto_anto" - sbagliato!! -
    in A4 ho un testo "Cammello" nella riga B4 mi appare un "Tigre" che ha pescato random nella mia cartella in C: che si nomina "foto_anto" - sbagliato!! -
    in A5 ho un testo "Serpente" nella riga B5 mi appare un "Serpente" che ha pescato random nella mia cartella in C: che si nomina "foto_anto" - Esatto!! -

    Questo è tutto il lavoro che dovrebbe fare e mi serve per dei giochetti da fare a dei bambini.

    Grazie anticipate ed un caro saluto.
    Antonella






  • di patel data: 18/01/2014 17:22:11

    accanto al pulsante Nuova Risposta c'è Allega un file





  • di patel data: 18/01/2014 21:07:21

    io suggerisco dii inserire manualmente in colonna A le immagini, nella colonna B tanti menù a tendina con la scelta del nome dell'animale, se la scelta è corretta nella colonna C viene scritto ESATTO.
    Questo è fattibile senza macro e quindi più gestibile della tua proposta






  • di patel data: 18/01/2014 21:13:47

    vedi allegato, nella colonna A inserisci le immagini senza cancellare i nomi