Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default How can I insert a picture from a file into a cell?


Hi,

I am new to writing Excel Macros and have been working on this for
couple of days now and can't seem to get it going. Someone pleas
help!!

I have a worksheet in which one column holds the file name. I need t
find this file in a directory on the C:/drive and display this pictur
in a cell in the appropriate row.

Here's some code that I tried but didn't work:

Public Sub DisplayPics()
Dim b As Long
Dim strFilePath As String
Dim pic As Shape

'Start at row 2 as the first row is a header row.
b = 2

Set sheet = Worksheets("Sheet2")
count = sheet.UsedRange.Rows.count

'Insert column to insert picture.
Worksheets("Sheet2").Cells(1, 3).EntireColumn.Insert

'look for the jpg file name in column i, find the file in the loca
drive and insert
'the picture in column C

While b <= count
If Len(sheet.Cells(b, 1)) 0 Then
strFilePath = "C:/graphics/" & Cells(b, 9).Value

If Dir(strFilePath) = "" Then
Worksheets("Sheet2").Cells(b, 3).Value = "No Phot
Available"
Else
Worksheets("Sheet2").Cells(b, 3).Pictures.Inser
(strFilePath)
Set pic = ActiveSheet.Shapes(Activesheeet.Shape.count)
Selection.ShapeRange.ScaleWidth 0.5, msoFalse
msoScaleFromTopLeft 'This is on a single line
Selection.ShapeRange.ScaleHeight 0.5, msoFalse
msoScaleFromTopLeft 'This is on a single line
Rows(b).RowHeight = 90

End If
End If

b = b + 1

Wend

End Sub

At this line "Worksheets("Sheet2").Cells(b, 3).Pictures.Inser
(strFilePath)", the error is: "Object does not support this property o
method"

Any suggestions would be great.

Many thanks in advance for your help,
Lillian

--
Li
-----------------------------------------------------------------------
Lil's Profile: http://www.msusenet.com/member.php?userid=181
View this thread: http://www.msusenet.com/t-187050397

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,758
Default How can I insert a picture from a file into a cell?

You insert a picture onto a sheet--not into a cell.

But I made some other changes, too. I don't like variables that look too much
like VBA's reserved words--Sheet and Count scare me.

I also declared Pic to be a picture.

I was also confused about why you checked the length of the value in column "A",
but then use the value in column "I".

If Len(sheet.Cells(b, 1)) 0 Then
strFilePath = "C:/graphics/" & Cells(b, 9).Value


Option Explicit
Public Sub DisplayPics2()
Dim b As Long
Dim strFilePath As String
Dim pic As Picture
Dim mySheet As Worksheet
Dim myCount As Long

'Start at row 2 as the first row is a header row.
b = 2

Set mySheet = Worksheets("sheet2")
myCount = mySheet.UsedRange.Rows.Count

'Insert column to insert picture.
mySheet.Cells(1, 3).EntireColumn.Insert

'look for the jpg file name in column i,
'find the file in the local drive and insert
'the picture in column C

While b <= myCount
strFilePath = "C:\my documents\my pictures\" _
& mySheet.Cells(b, 9).Value
If Len(Trim(mySheet.Cells(b, 9).Value)) = 0 Then
mySheet.Cells(b, 3).Value = "No Photo Available"
ElseIf Dir(strFilePath) = "" Then
mySheet.Cells(b, 3).Value = "No Photo Available"
Else
Set pic = mySheet.Pictures.Insert(strFilePath)
With pic
.Top = mySheet.Cells(b, 3).Top
.Left = mySheet.Cells(b, 3).Left
.Width = mySheet.Cells(b, 3).Width
.Height = mySheet.Cells(b, 3).Height
End With
pic.ShapeRange.ScaleWidth 0.5, msoFalse, msoScaleFromTopLeft
pic.ShapeRange.ScaleHeight 0.5, msoFalse, msoScaleFromTopLeft
Rows(b).RowHeight = 90
End If

b = b + 1
Wend

End Sub

Lil wrote:

Hi,

I am new to writing Excel Macros and have been working on this for a
couple of days now and can't seem to get it going. Someone please
help!!

I have a worksheet in which one column holds the file name. I need to
find this file in a directory on the C:/drive and display this picture
in a cell in the appropriate row.

Here's some code that I tried but didn't work:

Public Sub DisplayPics()
Dim b As Long
Dim strFilePath As String
Dim pic As Shape

'Start at row 2 as the first row is a header row.
b = 2

Set sheet = Worksheets("Sheet2")
count = sheet.UsedRange.Rows.count

'Insert column to insert picture.
Worksheets("Sheet2").Cells(1, 3).EntireColumn.Insert

'look for the jpg file name in column i, find the file in the local
drive and insert
'the picture in column C

While b <= count
If Len(sheet.Cells(b, 1)) 0 Then
strFilePath = "C:/graphics/" & Cells(b, 9).Value

If Dir(strFilePath) = "" Then
Worksheets("Sheet2").Cells(b, 3).Value = "No Photo
Available"
Else
Worksheets("Sheet2").Cells(b, 3).Pictures.Insert
(strFilePath)
Set pic = ActiveSheet.Shapes(Activesheeet.Shape.count)
Selection.ShapeRange.ScaleWidth 0.5, msoFalse,
msoScaleFromTopLeft 'This is on a single line
Selection.ShapeRange.ScaleHeight 0.5, msoFalse,
msoScaleFromTopLeft 'This is on a single line
Rows(b).RowHeight = 90

End If
End If

b = b + 1

Wend

End Sub

At this line "Worksheets("Sheet2").Cells(b, 3).Pictures.Insert
(strFilePath)", the error is: "Object does not support this property or
method"

Any suggestions would be great.

Many thanks in advance for your help,
Lillian.

--
Lil
------------------------------------------------------------------------
Lil's Profile: http://www.msusenet.com/member.php?userid=1810
View this thread: http://www.msusenet.com/t-1870503977


--

Dave Peterson
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default How can I insert a picture from a file into a cell?


Hi Dave,

Thanks for your quick response. I guess I wan't very clear. I needed t
insert a different picture for each row in the worksheet. These picture
are held in a directory on the c:/ drive and each row has the file nam
of the picture to display.

Would the code you give me do this? Or would it just display on
picture.

Many thanks,
Lillian

--
Li
-----------------------------------------------------------------------
Lil's Profile: http://www.msusenet.com/member.php?userid=181
View this thread: http://www.msusenet.com/t-187050397

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,758
Default How can I insert a picture from a file into a cell?

That code worked ok for me.

Did you remember to change the folder name? I didn't change it back after I
tested.

And it looks for names of files that are in column 9--after you inserted a new
column. So the names should have been in column 8 (H) before the code starts.

Lil wrote:

Hi Dave,

Thanks for your quick response. I guess I wan't very clear. I needed to
insert a different picture for each row in the worksheet. These pictures
are held in a directory on the c:/ drive and each row has the file name
of the picture to display.

Would the code you give me do this? Or would it just display one
picture.

Many thanks,
Lillian.

--
Lil
------------------------------------------------------------------------
Lil's Profile: http://www.msusenet.com/member.php?userid=1810
View this thread: http://www.msusenet.com/t-1870503977


--

Dave Peterson
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Can u use IF to insert a picture file? ForeverH Excel Worksheet Functions 3 November 20th 08 10:35 PM
Insert picture from file (Need VBA help) TheMilkGuy Excel Discussion (Misc queries) 3 July 31st 08 05:07 AM
how do I insert picture into cell so vlookup can return picture? ah Excel Worksheet Functions 1 May 1st 07 04:38 AM
how can you insert a picture in a protected excel file ylolo Excel Worksheet Functions 0 September 13th 06 10:18 PM
How can I insert a picture from file while worksheet is protected ChrisYH Excel Discussion (Misc queries) 0 July 27th 05 04:25 AM


All times are GMT +1. The time now is 02:02 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"