Insertar foto desde carpeta

Buenos días:

Utilizo excel 2007, tengo una macro para insertar la foto desde la carpeta, hasta aquí mas o menos bien pero mi problema es que debe de estar protegida la hoja, con lo cual la debería desproteger-insertar imagen-volver a proteger al utilizar el intro de la celda, lo tengo asi:

Private Sub Worksheet_Change(ByVal Target As Range)'Si hay errores, que continúeOn Error Resume Next'Ocultamos el procedimientoApplication.ScreenUpdating = False'Si cambiamos el dato de la celda A26,'cambiara la foto mostradaIf Target.Cells = Range("A26") Thenfoto = Range("N26").Value'ahora le añadimos la extensión "jpg"foto = foto & ".jpg"'buscaremos la foto en el mismo directorio 'donde tenemos este archivo de excelruta = ActiveWorkbook.Path & "\fotos\" & foto'para asegurarnos de no llenar de fotos la hoja, 'borramos la foto anterior (si es que había una)Me.Shapes("foto_del1").Delete'creamos el objeto "fotografía" con la foto insertadaSet fotografía = Me.Pictures.Insert(ruta)'haremos que la foto ocupe desde C5 hasta H12, 'que es el tamaño que requerimos,With Range("C5:H12")Arriba = .TopIzquierda = .LeftAncho = .Offset(0, .Columns.Count).Left - .LeftAlto = .Offset(.Rows.Count, 0).Top - .TopEnd With'le ponemos un nombre al objeto "fotografía" 'para poder borrarla cuando cambie la celdaWith fotografía.Name = "foto_del1".Top = Arriba.Left = Izquierda.Width = Ancho.Height = AltoEnd With'eliminamos el objeto "fotografía"Set fotografía = Nothing'desocultamos el procedimientoApplication.ScreenUpdating = TrueEnd IfEnd Sub

Si existe otro proceso mas simplificado que funcione estoy abierto a todo tipo de sugerencias, gracias de antemano y en espera de noticias hasta pronto.

Añade tu respuesta

Haz clic para o