Insert a picture in worksheet

B

baha

I have a below code which,whenever I select a cell(which has a id
number of a person) and run the macro by"ctl+p" it promps userform
with a picture of the person.Now I want,whenever I enter a number and
press a enter button, insert a picture on the top left corner of the
same sheet without calling the user form.Those picture shout be change
everytime I enter the id,or it might be even scan from bar code.Is
that possible? Just for the referance my code is below.
Thanks for the help:


Private Sub UserForm_Initialize()
Dim TM As Double
Dim Prfx As String
Dim Prfxx As String



TM = ActiveCell.Value
Prfx = 6 - Len(Trim(TM))



Select Case Prfx

Case 5
Prfxx = "00000"
Case 4
Prfxx = "0000"
Case 3
Prfxx = "000"
Case 2
Prfxx = "00"
Case 1
Prfxx = "0"
Case 0
Prfxx = ""
End Select
On Error Resume Next

Image1.Picture = LoadPicture("J:\Reference\QT\Team Member Images\" &
Prfxx & TM & ".00.jpg")

End Sub
 
D

Dave Peterson

I'm not sure how the barcode stuff would work, but if you're picking up the
picture from a cell on the worksheet (say column A of the row with the
activecell), you could use:

Option Explicit
Sub testme()

Dim myCell As Range
Dim PicName As String
Dim TestStr As String
Dim myPath As String
Dim myPic As Picture

myPath = "U:\my pictures\"

PicName = ActiveCell.EntireRow.Cells(1).Value
If PicName = "" Then
Beep
Exit Sub
End If

PicName = myPath & PicName
TestStr = ""
On Error Resume Next
TestStr = Dir(PicName)
On Error GoTo 0

If TestStr = "" Then
MsgBox "No picture by that name in" & myPath
Exit Sub
End If

'a 3 by 3 range???
Set myCell = ActiveCell.Range("A1").Resize(3, 3)
'or (still a 3 by 3 range
Set myCell = ActiveWindow.VisibleRange.Cells(1).Resize(3, 3)

With myCell
Set myPic = .Parent.Pictures.Insert _
(Filename:=PicName)
myPic.Top = .Top
myPic.Left = .Left
myPic.Width = .Width
myPic.Height = .Height
End With

End Sub

I'm not sure if you meant top of the worksheet (A1) or top of the current
visible range.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top