Convalida dati e Image



  • Convalida dati e Image
    di paganiva (utente non iscritto) data: 25/10/2016 01:12:11

    Buonasera a tutti
    Trattandosi di un argomento più volte trattato, ho trovato varie soluzioni, ma non riesco ad adattarle alle mie necessità.
    In una cartela contenitore, ho un file excel e varie foto.
    Quindi con una convalida dati in un foglio, cerco un nominativo al quale è abbinata la foto che porta lo stesso nome con estensione .jpg .
    Nel file che allego, le foto che richiamo (classico Pippo Pluto Paperino), si posizionano nel foglio1, mentre io vorrei che andassero all'interno di una cornice che contiene un oggetto activex Image e sostituendosi ogni volta che ne richiamo una, alla precedente scelta.
    Spero di essermi spiegato.
    Il codice copiato da internet sito di Mauro Gamberini è questo:

    Come adattarlo.
    Saluti e comunque grazie

     
    Private Sub Worksheet_Change(ByVal Target As Range)
        
        Dim rng As Range
        Dim shp As Shape
        Dim bln As Boolean
        Set rng = Me.Range("U5")
        
        If Not Intersect(Target, rng) Is Nothing Then
            If Target.Cells.Count > 1 Then Exit Sub
            If Target.Value <> "" Then
                For Each shp In Me.Shapes
                    If shp.Top = Target.Offset(2, 0).Top Then
                        If shp.Left = Target.Offset(2, 0).Left Then
                            shp.Delete
                        End If
                    End If
                Next
                ActiveSheet.Pictures.Insert( _
                    ThisWorkbook.Path & "" & Target.Value & ".jpg").Select
                Selection.Top = Target.Offset(2, 0).Top
                Selection.Left = Target.Offset(2, 0).Left
            Else
                For Each shp In Me.Shapes
                    If shp.Top = Target.Offset(2, 0).Top Then
                        If shp.Left = Target.Offset(2, 0).Left Then
                            shp.Delete
                        End If
                    End If
                Next
            End If
        End If
        Target.Select 
        Set rng = Nothing
        End Sub
    
    



  • di patel data: 25/10/2016 09:49:59

    prova il file allegato dove è inserito un rettangolo invece dell'immagine che hai messo tu 
     
    Private Sub Worksheet_Change(ByVal Target As Range)
        
        Dim rng As Range
        Set rng = Me.Range("U5")
        If Not Intersect(Target, rng) Is Nothing Then
            If Target.Cells.Count > 1 Then Exit Sub
            If Target.Value <> "" Then
              ActiveSheet.Shapes("Rectangle 1").Fill.UserPicture ThisWorkbook.Path & "" & Target.Value & ".jpg"
            End If
        End If
        End Sub
    
    






  • di paganiva (utente non iscritto) data: 25/10/2016 13:30:57

    Ciao
    Che dire, con tre righi di codice tutto risolto, non ho parole.
    Grazie Patel saluti