Inserting Multiple Images into excel but on column A and column B with Height 150 , Width 45

surazshrestha

New Member
Joined
Mar 4, 2012
Messages
45
Hi Everyone,

Greetings,

I am arranging the normal catalogue on excel on below. I am able to put multiple images on column A only but not able to insert on column B.

Below VBA. Can you please help.

Sub InsertPicAndResizeToCell()
'with this macro (using the right mouse button) a picture can be inserted into the active cell
'the picture is resized into the cell keeping ratio
'where are the pictures?
Dim vPics
Dim iPic As Integer
vPics = Application.GetOpenFilename("All image files (*.JPEG;*.BMP),*.JPG;*.BMP", MultiSelect:=True)
If TypeName(vPics) = "Boolean" Then Exit Sub ' cancelled

Dim oNewPic As Shape
Dim Pic1 As Range

'cell or range of cells where the picture should be inserted:
Set Pic1 = ActiveWindow.RangeSelection

For iPic = LBound(vPics) To UBound(vPics)

'Insert the picture:
Set oNewPic = ActiveSheet.Shapes.AddPicture(Filename:=vPics(iPic), LinkToFile:=msoFalse, SaveWithDocument:=msoTrue, _
Left:=Pic1.Left + 0.5, Top:=Pic1.Top + 0.5, Width:=Pic1.Height, Height:=Pic1.Height)

'Maintain original aspect ratio and set to full size
oNewPic.LockAspectRatio = msoTrue
oNewPic.ScaleHeight factor:=1, RelativeToOriginalSize:=msoTrue
oNewPic.ScaleWidth factor:=1, RelativeToOriginalSize:=msoTrue

' 'Resize the picture to fit in the destination cells
If (oNewPic.Width / oNewPic.Height) < (Pic1.Width / Pic1.Height) Then
oNewPic.Height = Pic1.Height - 1.5
Else: oNewPic.Width = Pic1.Width - 1.5
End If
Set Pic1 = Pic1.Offset(1) ' replace Sheet1.ComboBox1 with reference to your combobox
Next

End Sub
 

Attachments

  • Untitled.jpg
    Untitled.jpg
    161.4 KB · Views: 50

Excel Facts

Excel motto
Not everything I do at work revolves around Excel. Only the fun parts.
it places your new image in the activeCell, so if you move to the wanted cell before you run the macro it works.
Or you have to add the left and the top of the desired cell
VBA Code:
'Maintain original aspect ratio and set to full size
oNewPic.LockAspectRatio = msoTrue
oNewPic.ScaleHeight factor:=1, RelativeToOriginalSize:=msoTrue
oNewPic.ScaleWidth factor:=1, RelativeToOriginalSize:=msoTrue

oNewPic.Left = Range("D1").Left
oNewPic.Top = Range("D1").Top

' 'Resize the picture to fit in the destination cells
If (oNewPic.Width / oNewPic.Height) < (Pic1.Width / Pic1.Height) Then
oNewPic.Height = Pic1.Height - 1.5
 
Upvote 0

Forum statistics

Threads
1,213,543
Messages
6,114,243
Members
448,555
Latest member
RobertJones1986

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top