ipbr21054
Well-known Member
- Joined
- Nov 16, 2010
- Messages
- 5,738
- Office Version
- 2007
- Platform
- Windows
Hi,
Code is supplied below.
There is a couple of things ive noticed.
In cell A i type say 12345 when i leave that cell i see the error message which advises photo 12345 does not exist,then yes/no box.
If i click No the msgbox closes & then the photo is inserted into the cell.
If i click YES the folder for pictures opens & when i then close it down then the photo is also inserted into that cell.
The msgbox should only be shown when there is no photo in the folder to be inserted into the cell.
Code is supplied below.
There is a couple of things ive noticed.
In cell A i type say 12345 when i leave that cell i see the error message which advises photo 12345 does not exist,then yes/no box.
If i click No the msgbox closes & then the photo is inserted into the cell.
If i click YES the folder for pictures opens & when i then close it down then the photo is also inserted into that cell.
The msgbox should only be shown when there is no photo in the folder to be inserted into the cell.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)Dim shp As Shape
If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
If Target.Row Mod 20 = 0 Then Exit Sub
On Error GoTo son
For Each shp In ActiveSheet.Shapes
If shp.Type = msoPicture And shp.TopLeftCell.Address = Target.Offset(0, 1).Address Then shp.Delete
Next
If Target.Value <> "" And Dir("C:\Users\Ian\Desktop\SKYPE\PICK ME\" & "\" & Target.Value & ".jpg") = "" Then 'picture not there!
If MsgBox("Photo " & Target.Value & " Doesn't exist" & vbCrLf & "Open The Picture Folder ?", vbCritical + vbYesNo, "No Photo Found") = vbYes Then
CreateObject("Shell.Application").Open ("C:\Users\Ian\Desktop\SKYPE\LOCK PICK ME\")
End If
End If
ActiveSheet.Pictures.Insert("C:\Users\Ian\Desktop\SKYPE\LOCK PICK ME\" & "\" & Target.Value & ".jpg").Select
Selection.Top = Target.Offset(0, 1).Top + 5
Selection.Left = Target.Offset(0, 1).Left + 5
With Selection.ShapeRange
.LockAspectRatio = msoFalse
.Height = Target.Offset(0, 1).Height - 10
.Width = Target.Offset(0, 1).Width - 10
End With
Target.Offset(1, 0).Select
son:
End Sub