Mostrar Imagen en un Formulario al buscar un dato

Para Elsa Matilde

Tengo un formulario de Operadores en la que ellos registran datos de análisis, mi pregunta es como puedo Hacer que el botón (buscar Fecha) del formulario de búsqueda me muestre la foto del operador según la fecha ingresada en el textbox; Gracias Elsa por la respuesta que me puedas dar te adjunto mi archivo a tu correo la clave de ingreso es 2014 .

1 Respuesta

Respuesta
3

Si la fecha debe buscarla en la hoja DATOS, tenés que pasarle otros parámetros o criterios viendo que por cada fecha puede haber 3 operarios distintos. Quizás debas ingresar primero el turno o el nombre del operador y luego sí buscarle la imagen relacionada.

Quedo a la espera de tus aclaraciones para avanzar con el código.

Hola! Elsa

Bueno en el formulario esta el  textbox63 que es para ingresar la fecha; Lo que quiero lograr con este tema es que al ingresar una fecha me encuentre la foto y me la muestre, no importa el turno o el nombre ya que con los botones de siguiente y anterior podre verificar si es que  hay otros registros en ese día.

Bueno Elsa no se si realmente se puede hacer eso con  los botones de siguiente y anterior  para la búsqueda aparte del botón buscar fecha, te comento que  la ruta de las fotos es la siguiente C:\Users\EDGAR-PC\Desktop\PROYECTOS EXCEL .  Gracias! 

Digamos entonces que no buscarás 'la' foto sino 'alguna' foto de ese día ... bien, ya te enviaré el libro con la macro así entonces.

Sdos!

Ya te envié el libro, dejo aquí la macro:

Private Sub CommandButton9_Click()
'buscar fecha
'----------------la fecha ya debe estar controlada en el evento del textbox de que sea válida
filx = Sheets("DATOS").Range("A" & Rows.Count).End(xlUp).Row
Set busco = Sheets("DATOS").Range("A5:A" & filx).Find(TextBox63, LookIn:=xlValues, LookAt:=xlWhole)
If Not busco Is Nothing Then
    'si encuentra 1 reg con esa fecha coloca el turno en el textbox y muestra su imagen
    TextBox50 = busco.Offset(0, 2)
    Ruta = "D:\carpetas Datos\Mis Documentos\EdgarCast"       'ATENCIÓN EDGAR: ajustar la ruta
    'definimos los nombres de las imágenes
    imagen = busco.Offset(0, 4).Value & ".jpg"
    'ahora definimos la ruta y la imagen
    ruta_e_imagen = Ruta & "\" & imagen
    'cargamos esa imagen en el cuadro de la imagen
    Image1.Picture = LoadPicture(ruta_e_imagen)
Else
    'quito valores de otras búsquedas
    TextBox50 = ""
    Image1.Picture = LoadPicture()
End If
End Sub

Sdos 

Elsa

Hola! Elsa 

Hiendo a lo que indicas realice el cambio de la dirección para las imágenes, pero este no me muestra la imagen al colocar la fecha en el textbox63; Cual seria el error  disculpa que no soy tan bueno en programación gracias.

Private Sub CommandButton9_Click()
'buscar fecha
'----------------la fecha ya debe estar controlada de que sea válida
filx = Sheets("DATOS").Range("A" & Rows.Count).End(xlUp).Row
Set busco = Sheets("DATOS").Range("A6:A" & filx).Find(TextBox63, LookIn:=xlValues, LookAt:=xlWhole)
If Not busco Is Nothing Then
'si encuentra 1 reg con esa fecha coloca el turno en el textbox y muestra su imagen
TextBox50 = busco.Offset(0, 2)
Ruta = "C:\Users\EDGAR-PC\Desktop\PROYECTOS EXCEL\Base de Datos" 
'definimos los nombres de las imágenes
imagen = busco.Offset(0, 4).Value & ".jpg"
'ahora definimos la ruta y la imagen
ruta_e_imagen = Ruta & "\" & imagen
'cargamos esa imagen en el cuadro de la imagen
Image1.Picture = LoadPicture(ruta_e_imagen)
Else
'quito valores de otras búsquedas
TextBox50 = ""
'Image1.Picture = LoadPicture()
End If
End Sub

Revisa que la ruta esté bien escrita, que las imágenes sean 'jpg' y que el nombre coincida con el texto que aparece en col E.

La instrucción imagen = busco.Offset(0, 4).Value & ".jpg"

Dice que la imagen se llama como el contenido de la col E... si tu imagen tiene el nombre de otra col o algún otro nombre debemos ajustarlo en el código.

PD) Podés habilitar la última línea quitando el tilde:

Image1.Picture = LoadPicture()

Sdos y comentame si lo resolviste,

Elsa

Hola! Elsa 

E intentado resolver el problema pero sin resultados e probado con nuevas imágenes y tampoco me resulta, Pero si resulta cuando yo coloco un nombre en la  columna A6 y el mismo nombre en la columna E; en este caso no me resulta cuando hay una fecha en la columna A, cual seria el inconveniente.

Gracias! Elsa 

Disculpa que no te haya escrito antes, con el problema que tuve con las imágenes es exactamente lo que indicabas la ruta y el formato de las fotos estaban mal los cambie y ahora trabaja correctamente.

Con respecto a la fecha porque no busca con 05/10/2014 me gustaría que trabaje con ese tipo de fecha  y no con la fecha 05/10/14, con respecto a los botones siguiente y anterior me gustaría que me des una manito. Gracias! Elsa por la gran ayuda que me estas brindando.

Tu hoja tiene las fechas con formato año de 2 dígitos, por eso solo los encuentra cuando ingresas fecha con ese formato, aún cuando 'internamente' la fecha está guardada con años de 4.

Es decir: tu fecha interna es 04/09/2014..... tu fecha 'visible' es: 04/09/14 entonces ingresala con este último formato.

Las macros para el resto de los botones por favor que sea en una nueva consulta, luego de valorar y finalizar ésta.

Sdos

Elsa

De todos modos si prefieres ingresar la fecha con años de 4 dígitos porque así están acostumbrados, ajustá esta línea agregando lo del format:

Set busco = Sheets("DATOS").Range("A5:A" & filx).Find(Format(TextBox63, "dd/mm/yy"), LookIn:=xlValues, LookAt:=xlWhole)

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas