I am using the following code to insert 1 image from a specific folder into a selected cell then resize it.
Please could you help me in the following:
1- select multiple folders to import the photos from each instead of 1 folder
2- resize each photo inserted into a range of cells for example (A4:B10)
for example
Photo 1 ... (A4:B10)
photo 2 ... (C4:D10)
Photo 3 .. (E4:F10)
and so on
Thanks in advance
Please could you help me in the following:
1- select multiple folders to import the photos from each instead of 1 folder
2- resize each photo inserted into a range of cells for example (A4:B10)
for example
Photo 1 ... (A4:B10)
photo 2 ... (C4:D10)
Photo 3 .. (E4:F10)
and so on
Thanks in advance
VBA Code:
Sub InsertPicAndResizeToCell()
Dim vPics
Dim iPic As Integer
vPics = Application.GetOpenFilename("All image files (*.JPG;*.BMP;*.PNG),*.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, Top:=Pic1.Top + 0, 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.Width = Pic1.Width + 0
Else: oNewPic.Height = Pic1.Height - 1000
End If
Set Pic1 = Pic1.Offset(1) ' replace Sheet1.ComboBox1 with reference to your combobox
Next
End Sub