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

Select all contiguous cells
Pressing Ctrl+* (asterisk) will select the "current region" - all contiguous cells in all directions.
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,211,678
Messages
6,103,239
Members
447,848
Latest member
holale

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