¿Cómo ver dif fotos JPG en la hoja sin trabar Excel?
Hola amigo .Este es el código que uso para el control image en la hoja de excel
Dim mitiempo, ultimo As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Rem CHECKEA SI TRANSCURRIO 0.15segundo desde la ultima vez _
que cargo una imagen para evitar trabar el PC.
If (Timer - mitiempo) < 0.15 Then
Image1.Picture = Nothing
ultimo = ""
mitiempo = Timer
Exit Sub
End If
Rem SI ES DIF CARGA FOTO Y SI NO EXISTE LIMPIA EL VISOR.
If Not Range("B" & ActiveCell.Row).Value Like ("*\Fotos*") Then
If ultimo = "" Then Exit Sub
Image1.Picture = Nothing
ultimo = ""
mitiempo = Timer
Exit Sub
End If
Rem CARGA LA FOTO AL VISOR.
If Not ultimo = Range("B" & ActiveCell.Row).Value Then
Image1.Picture = LoadPicture(ThisWorkbook.Path & (Range("B" & ActiveCell.Row).Value))
ultimo = (Range("B" & ActiveCell.Row).Value)
End If
mitiempo = Timer
Exit Sub
End Sub
La cuestión es que cuando escribo algo en una celda y presiono unas tres o cuatro veces las flechas del teclado para cambiar de celda se traba excel y veo cambiar de celda a excel la cantidad de veces que presione como en cámara lenta, lo uso en una ferretería pequeña para verlos productos de la lista de precios antes de venderle al cliente.
PD: Las fotos que carga Image1 son JPG de 780x530px y pesan entre 5KB y 40KB c/u , la lista de precios es de cerca de 3780 filas, falla igual en otras PC (Pentium 4, DualCore y Core2Duo). Espero me puedas ayudar.
Dim mitiempo, ultimo As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Rem CHECKEA SI TRANSCURRIO 0.15segundo desde la ultima vez _
que cargo una imagen para evitar trabar el PC.
If (Timer - mitiempo) < 0.15 Then
Image1.Picture = Nothing
ultimo = ""
mitiempo = Timer
Exit Sub
End If
Rem SI ES DIF CARGA FOTO Y SI NO EXISTE LIMPIA EL VISOR.
If Not Range("B" & ActiveCell.Row).Value Like ("*\Fotos*") Then
If ultimo = "" Then Exit Sub
Image1.Picture = Nothing
ultimo = ""
mitiempo = Timer
Exit Sub
End If
Rem CARGA LA FOTO AL VISOR.
If Not ultimo = Range("B" & ActiveCell.Row).Value Then
Image1.Picture = LoadPicture(ThisWorkbook.Path & (Range("B" & ActiveCell.Row).Value))
ultimo = (Range("B" & ActiveCell.Row).Value)
End If
mitiempo = Timer
Exit Sub
End Sub
La cuestión es que cuando escribo algo en una celda y presiono unas tres o cuatro veces las flechas del teclado para cambiar de celda se traba excel y veo cambiar de celda a excel la cantidad de veces que presione como en cámara lenta, lo uso en una ferretería pequeña para verlos productos de la lista de precios antes de venderle al cliente.
PD: Las fotos que carga Image1 son JPG de 780x530px y pesan entre 5KB y 40KB c/u , la lista de precios es de cerca de 3780 filas, falla igual en otras PC (Pentium 4, DualCore y Core2Duo). Espero me puedas ayudar.
1 respuesta
Respuesta de Enrique Bernal
1